c# - 播放内存流,避免在WP8.1应用中它们之间出现间隙

标签 c# audio windows-phone-8.1 memorystream

我有2个内存流,它们代表Windows Phone 8.1应用程序中的wav文件。我想播放它们,但是避免了它们之间的差距,有什么方法可以不使用Sleep方法或类似方法来做到这一点?

我已经尝试过Thread.Sleep(),但是我认为这有很大的差距,因为我的2个文件的持续时间均为20ms。

最佳答案

假设音频格式相同,并且波形头已被剥离,则可以串联存储流。

streamTwo.CopyTo(streamOne);

如果wave header 仍被嵌入,则需要跳过第二个流中的那个(通常为44个字节)。如果格式不同,则需要找到另一种技术。

关于c# - 播放内存流,避免在WP8.1应用中它们之间出现间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30870360/

相关文章:

java - 如何在服务器中存储音频文件(托管期间)

java - Android中的开/关音乐

c# - Windows Phone 8.1 日期选择器在点击时显示

c# - 字符串未被识别为 Windows Server 2016 上的有效日期时间

c# - 树的组合和划分

synthesis - 基本的声音生成/合成库,任何语言

windows - Window phone app提交 "Notes to Tester"选项

c# - Windows Phone 8.1 从应用程序执行后台任务(定时器触发)

c# - FileNotFoundException - 动态发现

c# - 为什么通过反射查询程序集的类型会导致程序在调试时意外挂起?