Windows Phone 8.1通过扬声器播放音频数据流



我通过网络接收PCM音频数据流,这部分工作正常,所以我最终使用

DataReader incomming = args.GetDataReader();
byte[] RcvBuffer = new byte[incomming.UnconsumedBufferLength];
incomming.ReadBytes(RcvBuffer);

我有所有的音频数据在缓冲区。

如何通过电话扬声器播放?你能给我指个方向吗?

感谢

有很多方法可以做到这一点。

您可以在数据中预先设置WAVE标头,并使用MediaElement进行播放,请参阅SetSource方法的文档。

然而,如果你所说的"电话扬声器"是指耳机,那么只有当你正在创建一个VoIP应用程序时,这才有可能。

花了一段时间,但我已经整理好了,也许将来会有其他人需要帮助。

  • 第一个问题-由于我刚刚开始为Windows Phone开发应用程序,我选择了空白应用程序(Windows Phone)而不是空应用程序(WindowsPhoneSilverlight)

正如宋所说,有很多方法可以做到这一点,这是我使用的一种方法。

我简化了这段代码,并重新键入了它,这样可能会有一些拼写错误

using Microsoft.Xna.Framework.Audio;
using System.IO;

1) 创建流以加载传入数据:

MemoryStream stream = new MemoryStream();

2) 将数据从缓冲区加载到流:

stream.Write(RcvBuffer, 0, RcvBuffer.Length);

3) 我正在使用SoundEfect通过扬声器播放这个。我使用的采样率是8kHz

SoundEffect sound;
sound = new SoundEffect(stream.toArray(), 8000, AudioChannels.Mono)
sound.Play();

相关内容

  • 没有找到相关文章

最新更新