日期:2014-05-19  浏览次数:20806 次

帮帮我急啊.关示播放wav文件的问题
using   System.Media;
this.Player.SoundLocation   =   "m.wav ";
this.Player.Play();

我想知道用什么方法能知道这个音频文件以经播放完了?
或得到它的播放时间也行.
先谢谢了

------解决方案--------------------
http://www.codeproject.com/cs/media/wavecontrol.asp
http://www.codeproject.com/useritems/Text2Audio.asp
http://www.codeproject.com/cs/media/PlaySounds1.asp
------解决方案--------------------
用DirectSound

Device wavDevice=new Device();
wavDevice.SetCooperativeLevel(this, CooperativeLevel.Priority);
SecondaryBuffer wavBuffer = new SecondaryBuffer( "c:\\m.wav ", wavDevice);
wavBuffer.Play(0, BufferPlayFlags.Default);

如果wavBuffer.Status.Playing==true 说明正在播,如果是flase 说明已经放完
------解决方案--------------------
用我写的类吧,纯c#写的,可以得到音视频文件的播放时间

如果播放音频视频录音的话,用我写的类也可以
http://www.jz322.com/web/MediaEE_SDK.rar
http://www.jz322.com/web/Media.txt
也许会有帮助