簡體   English   中英

聲音播放的開始被切斷

[英]Beginning of sound playback is cut off

我正在嘗試從嵌入式資源播放 WAV,但它始終會在開始時從 0.5 秒到 2.0 秒的任何時間切斷。 也就是說,如果 WAV 是錄制的聲音,說“大家好。今天的新聞……”,那么播放通常會從一開始就切斷“大家好——”。

播放代碼非常簡單:

using System.Media;

play(GetResourceStream(audioItem));

...

private static void play(UnmanagedMemoryStream sndData)
{
   SoundPlayer sp = new SoundPlayer(sndData);
   sp.LoadCompleted += delegate( object sender, System.ComponentModel.AsyncCompletedEventArgs e)
   {
      sp.Play();
   };    
   sp.LoadAsync();
}

原始代碼只是創建了SoundPlayer對象,然后調用了Play()方法。 我添加了LoadAsync()調用和LoadCompleted事件處理程序,以查看是否解決了問題,但它的行為似乎沒有任何不同。

附加信息:聲音播放似乎只在應用程序第一次調用SoundPlayer.Play()時被切斷。 隨后的電話似乎工作正常。

我剛剛遇到了同樣的問題。 在應用程序中和通過外部媒體播放器(如 VLC)播放時,聲音的開頭都會被切斷。 就我而言,問題與藍牙揚聲器有關。 將聲音輸出切換到有線揚聲器后,它工作正常。

應該沒有問題。 嘗試將 wav 放入文件並從文件中播放。 如果問題仍然存在,我認為您應該檢查聲卡的各種效果設置,例如淡入淡出。

嘗試播放“C:\Windows\Media\chord.wav”,它很短,甚至不到一秒。

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav");
player.Play();

如果您對“同步”播放沒有問題,只需嘗試SoundPlayer.PlaySync()方法。 在完全相同的情況下(即使用“嵌入式資源”),這對我來說效果很好。

我的問題確實是藍牙揚聲器...我斷開連接然后重新連接,之后它工作正常。 我不必切換到有線揚聲器。

問題發生在兩個不同的微軟播放器和 VLC 上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM