私はwavファイルを開いて再生するmediaPlayerインスタンスを作成しています。終了すると(Media_endedイベントで終了することがわかっています)、別のwavファイルを開き、継続的に正確に処理します。
このプロセスの途中で、ユーザー イベントが発生する可能性があります。このイベントは、mediaPlayer を停止して閉じ、mediaPlayer の新しいソースを設定します。
システム内の wav ファイルを再利用したい。つまり、mediaPlayer を閉じた後、wav ファイルを変更します。Media_Opened イベントが発生しなかったときに、mediaPlayer.Open() によって mediaPlayer のソースとして設定された wav ファイルを変更しようとすると、問題が発生することがあります。
私のmediaPlayerの理解から、オープンは別のスレッドで発生します。優先度の高いユーザー イベントは、オープニング プロセスを停止します。ファイルが開いているがプロセスが完了していないため、閉じるとファイルが解放される段階で、開くプロセスが途中で停止することがあります。
流れを正しく理解しているか?
ファイルのリリースを保証するにはどうすればよいですか? または、閉じる前にファイルが適切に開くことを確認するにはどうすればよいですか?