Вверх ↑
Ответов: 1924
Рейтинг: 172
#1: 2015-11-04 23:04:30 ЛС | профиль | цитата
Вот такой элементарный код:

code_36470.txt

Воспроизвожу, нажимаю паузу, нажимаю её снова (для продолжения) - прога виснет. Причём видео и звук продолжают идти, но прога не отвечает. Такое происходит только с avi, с wmv нормально.

Какие кодеки использует наш mediaplayer? В чём может быть проблема?

На MPC отлично всё работает, вот данные файла:


Format : AVI
Format/Info : Audio Video Interleave
File size : 172 MiB
Duration : 28mn 28s
Overall bit rate : 842 Kbps
Writing library : VirtualDub build 14328/release

Video
ID : 0
Format : MPEG-4 Visual
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Codec ID : DX50
Codec ID/Hint : DivX 5
Duration : 28mn 28s
Bit rate : 785 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.102
Stream size : 160 MiB (93%)
Writing library : DivX 5.0.2 (UTC 2002-05-16)

Audio
ID : 1
Format : MPEG Audio
Format version : Version 2
Format profile : Layer 3
Mode : Joint stereo
Mode extension : Intensity Stereo + MS Stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 28mn 28s
Bit rate mode : Constant
Bit rate : 48.0 Kbps
Channel(s) : 2 channels
Sampling rate : 22.05 KHz
Compression mode : Lossy
Stream size : 9.73 MiB (6%)
Alignment : Split accross interleaves
Interleave, duration : 40 ms (1.00 video frame)
Interleave, preload duration : 457 ms


------------ Дoбавленo в 10.49:
Попробовал просто переименовать avi в mpg - всё стало работать нормально! Т.е. дело даже не в кодеках или форматах, а расширении! Но, наверное, какая-то настройка влияет на это. У меня K-Lite Codec Pack.
------------ Дoбавленo в 23.04:
В общем, вещица эта мне нужна была, чтоб синхронно воспроизводить два одинаковых видео файла с разными битрейтами (сравнивать качество). Решения на mediaplayer так и не нашёл, пришлось запускать два MediaPlayer Classic и применять такую схему:

Add(MainForm,2953706,161,84)
{
Width=395
Height=109
Position=1
Point(Handle)
link(onCreate,14211977:doPopup,[(205,104)(205,125)(149,125)(149,146)])
}
Add(WinEnum,9701133,273,245)
{
link(onFindWindow,12547857:In,[])
}
Add(WinTools,15956156,273,308)
{
Point(FileName)
link(Handle,10727835:Var2,[])
}
Add(Button,1928844,154,231)
{
Left=5
Top=5
Width=80
Caption="Поиск"
link(onClick,11442923:doEvent1,[])
}
Add(FilePartElm,6694997,280,371)
{
Mode=2
link(onPart,9567409:doCase,[])
link(FileName,15956156:FileName,[])
}
Add(LineBreak,4391202,238,371)
{
link(Out,6694997:doPart,[])
Primary=[12547857,77,-126]
}
Add(Case,9567409,329,371)
{
Value=String(mpc-hc)
link(onTrue,8945680:doEvent1,[])
}
Add(StrList,12067645,546,224)
{
}
Add(WinTools,14211977,161,133)
{
link(Handle,2953706:Handle,[])
}
Add(Hub,11442923,203,231)
{
OutCount=3
link(onEvent1,12067645:doClear,[])
link(onEvent2,9682425:In,[])
link(onEvent3,9701133:doEnum,[])
}
Add(ListBox,5909595,518,483)
{
Left=90
Top=5
Width=290
Height=45
}
Add(Hub,8945680,378,378)
{
link(onEvent1,13228430:doData,[])
link(onEvent2,2109787:doData,[(406,391)(406,489)])
}
Add(DoData,2109787,420,483)
{
link(onEventData,5909595:doAdd,[])
link(Data,15956156:CaptionText,[(426,411)(279,411)])
}
Add(LineBreak,9620667,476,490)
{
link(Out,5909595:doClear,[])
Primary=[9682425,-245,-252]
}
Add(Button,2374076,203,630)
{
Left=5
Top=30
Width=80
Caption="Пуск/Пауза"
link(onClick,3721748:doEnum,[])
}
Add(Button,4373858,182,700)
{
Left=5
Top=55
Width=80
Caption="Стоп"
link(onClick,12500315:doEnum,[])
}
Add(ArrayEnum,3721748,266,630)
{
link(onItem,9143427:doSendMessage,[])
link(Array,11545196:Var2,[])
}
Add(LineBreak,7158652,560,280)
{
Type=1
link(Data,12067645:Array,[])
Primary=[6049373,-294,308]
}
Add(GetDataEx,10727835,273,287)
{
link(Data,9701133:Handle,[])
}
Add(DoData,13228430,441,378)
{
link(onEventData,12067645:doAdd,[(509,384)(509,230)])
link(Data,10727835:Var3,[(447,292)])
}
Add(ArrayEnum,12500315,245,700)
{
link(onItem,7958395:doSendMessage,[])
link(Array,14755133:Var2,[])
}
Add(GetDataEx,11545196,266,609)
{
link(Data,6049373:Var,[])
}
Add(SendMessage,9143427,315,630)
{
Message=8
WParam=889
}
Add(SendMessage,7958395,294,700)
{
Message=8
WParam=890
}
Add(ArrayEnum,245269,224,784)
{
link(onItem,12789677:doSendMessage,[])
link(Array,14755133:Var1,[(230,677)])
}
Add(SendMessage,12789677,273,784)
{
Message=8
WParam=-1
}
Add(GetDataEx,14755133,245,672)
{
link(Data,11545196:Var1,[(251,614)])
}
Add(InfoTip,9038486,693,84)
{
Info=#11:transport |9:Play 887|10:Pause 888|9:Stop 890|14:Framestep 891|19:Framestep back 892|15:Play/Pause 889|26:Jump Backward (large) 903|27:Jump Backward (medium) 901|26:Jump Forward (medium) 902|25:Jump Forward (large) 904|7:image |15:Fullscreen 830|7:audio |16:Volume Mute 909|16:Volume Down 908|14:Volume Up 907|22:Audio Delay -10ms 906|22:Audio Delay +10ms 905|10:resizing |14:PnS Reset 861|17:PnS Inc Size 862|18:PnS Inc Width 864|19:PnS Inc Height 866|17:PnS Dec Size 863|18:PnS Dec Width 865|19:PnS Dec Height 867|15:PnS Center 876|13:PnS Left 868|14:PnS Right 869|11:PnS Up 870|13:PnS Down 871|16:PnS Up/Left 872|17:PnS Up/Right 873|18:PnS Down/Left 874|19:PnS Down/Right 875|7:other |20:Quick Open File 968|14:Open File 800|13:Open DVD 801|16:Open Device 802|16:Reopen File 975|12:Save As 805|15:Save Image 806|22:Save Image (auto) 807|18:Load Subtitle 809|18:Save Subtitle 810|10:Close 804|15:Properties 814|9:Exit 816|10:Go To 893|18:Increase Rate 895|18:Decrease Rate 894|15:Reset Rate 896|25:Jump Forward (small) 900|26:Jump Backward (small) 899|28:Jump Forward (keyframe) 898|29:Jump Backward (keyframe) 897|9:Next 921|13:Previous 920|23:Next Playlist Item 919|27:Previous Playlist Item 918|15:Tuner scan 973|23:Quick add favorite 974|24:Toggle Caption&Menu 817|18:Toggle Seeker 818|20:Toggle Controls 819|23:Toggle Information 820|22:Toggle Statistics 821|18:Toggle Status 822|25:Toggle Subresync Bar 823|24:Toggle Playlist Bar 824|23:Toggle Capture Bar 825|29:Toggle Shader Editor Bar 826|17:View Minimal 827|17:View Compact 828|16:View Normal 829|32:Fullscreen (w/o res.change) 831|13:Zoom 50% 832|14:Zoom 100% 833|14:Zoom 200% 834|18:Zoom Auto Fit 967|19:Next AR Preset 859|16:VidFrm Half 835|18:VidFrm Normal 836|18:VidFrm Double 837|19:VidFrm Stretch 838|18:VidFrm Inside 839|18:VidFrm Zoom 1 841|18:VidFrm Zoom 2 842|19:VidFrm Outside 840|23:VidFrm Switch Zoom 843|18:Always On Top 884|18:PnS Rotate X+ 877|18:PnS Rotate X- 878|18:PnS Rotate Y+ 879|18:PnS Rotate Y- 880|18:PnS Rotate Z+ 881|18:PnS Rotate Z- 882|26:Volume boost increase 969|26:Volume boost decrease 970|21:Volume boost Min 971|21:Volume boost Max 972|19:DVD Title Menu 922|18:DVD Root Menu 923|22:DVD Subtitle Menu 924|19:DVD Audio Menu 925|19:DVD Angle Menu 926|21:DVD Chapter Menu 927|18:DVD Menu Left 928|19:DVD Menu Right 929|16:DVD Menu Up 930|18:DVD Menu Down 931|22:DVD Menu Activate 932|18:DVD Menu Back 933|19:DVD Menu Leave 934|13:Boss key 943|24:Player Menu (short) 948|23:Player Menu (long) 949|17:Filters Menu 950|12:Options 886|15:Next Audio 951|15:Prev Audio 952|18:Next Subtitle 953|18:Prev Subtitle 954|20:On/Off Subtitle 955|22:Reload Subtitles 2302|21:Next Audio (OGM) 956|21:Prev Audio (OGM) 957|24:Next Subtitle (OGM) 958|24:Prev Subtitle (OGM) 959|21:Next Angle (DVD) 960|21:Prev Angle (DVD) 961|21:Next Audio (DVD) 962|21:Prev Audio (DVD) 963|24:Next Subtitle (DVD) 964|24:Prev Subtitle (DVD) 965|26:On/Off Subtitle (DVD) 966|19:Tearing Test 32769|21:Remaining Time 32778|27:Toggle Pixel Shaders 32770|40:Toggle Screen Space Pixel Shaders 33254|33:Toggle Direct3D fullscreen 32779|25:Goto Prev Subtitle 32780|25:Goto Next Subtitle 32781|26:Shift Subtitle Left 32782|27:Shift Subtitle Right 32783|20:Display Stats 32784|27:EVR Sync reset stats 33405|12:VSync 33243|35:Enable Frame Time Correction 33265|21:Accurate VSync 33260|28:Decrease VSync offset 33246|28:Increase VSync offset 33247|23:Subtitle Delay - 24000|23:Subtitle Delay + 24001|20:Save thumbnails 808|22:Toggle EDL window 846|15:EDL set In 847|16:EDL set Out 848|17:EDL new clip 849|13:EDL save 860|
Frame=2
Transparent=1
HAlign=0
Width=225
Height=2146
Margin=5
}



Думаю, понятно, что это синхронная отправка сообщений окнам плеера. Только вот как установить позицию этими командами - я не нашёл.
карма: 9
0
файлы: 1code_36470.txt [335B] [382]