*.mp4の再生について、質問があります.
Visual Stdio 2015, MCIを用いて,MP4を再生したいのですが、再生できないのでmciGetErrorStringWを呼び出すと次のような文字列が取得できました.
そこで、Eternal Windowsさんのこちらのサイト(の下のほうです)にて公開されている方法を用いて、MCI Extensionsを出力させたところ、次の結果を得ました.(出力が少し違いますが、結果は同じ)MCI の初期化で問題が発生しました。
(前略)
'SoundPlayer.exe' (Win32): 'C:\Windows\System32\dwmapi.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]aiff,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]dat,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m2t,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mpa,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wmx,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wmv,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]Mid,Sequencer
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m3u,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]avi,avivideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]ivf,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wvx,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m4v,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mts,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mp4v,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mp2v,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]adts,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wma,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mpeg,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]tts,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mpv2,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]au,MPEGVideo
[01/23 Mon 16:42:39][Debug]{[main.cpp at WinProc(55)]}[Value,Data]3gpp,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m4a,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wax,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]aif,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]asx,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m2ts,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mov,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]Wav,WaveAudio
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]aac,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wpl,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]3gp2,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mp4,MPEGVideo ...(☆)
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mp3,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mp2,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]wm,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]adt,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]cda,CDAudio
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]3g2,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]asf,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mod,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m1v,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]ts,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]rmi,Sequencer
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mpg,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]3gp,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]aifc,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]mpe,MPEGVideo
[01/23 Mon 16:42:40][Debug]{[main.cpp at WinProc(55)]}[Value,Data]m2v,MPEGVideo
[01/23 Mon 16:42:41][Debug]{[main.cpp at WinProc(55)]}[Value,Data]snd,MPEGVideo
(後略)
ただしMP3のようにID3のような再生に直接必要ないものが入っていると,再生できないかもしれないと考えたので、バイナリエディッタでそのファイルをのぞいてみました。
ファイルをのぞいてみると、
00 00 00 20 66 74,(続く)
というようになっているので検索してみたのですが、特に目ぼしいサイトは見つかりませんでした.(MP3のID3ヘッダはこれで結構出てきた記憶があります)
(検索結果)
前置きが長くなりましたが、質問は
(1)MP4にもMP3のID3のようなヘッダが存在しているのか
(2)もし存在しているならば、実際のMP4がどこから始まっているのかをどう割り出すのか
とりあえず、この2つにさせてください。
ご教示よろしくお願いします。