[英]Play microphone sound in realtime using SoundEffect silverlight 5
我正在嘗試在Silverlight 5中使用音效和音頻接收器實時播放麥克風聲音,但是聲音在這里被切碎了,這是我使用的代碼
protected override void OnSamples(long sampleTime, long sampleDuration, byte[] sampleData)
{
try
{
SoundEffect effect = new SoundEffect(sampleData, 8000, AudioChannels.Mono);
effect.Play();
}
catch
{ }
}
任何幫助或替代方案?
我很確定這不是SoundEffect類的目的。 播放音頻的一致流,你至少需要某種形式的不同幀之間的緩沖和一致性。 過去,要做這種事情的工作是暫時緩沖從AudioSink傳入的音頻,然后將其提供給MediaStreamSource,后者再播放它。 MediaStreamSource有很好的基本實現,您可以借用很多地方(很奇怪的部分是正確設置所有WAV標頭),但是您仍然需要自己編寫緩沖代碼。 最簡單的方法是使用隊列保存每個提交的字節數組,然后讓MediaStreamSource在其GetSampleAsync()方法中提取字節數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.