我音频小白抬起波文件体积与n音讯
我期待通过将数据作为一个字符串,如 <音频SRC =“数据嵌入在HTML页中的音频:音频/ WAV; BASE64 ,AA .....“/> 这样做的工作,但我需要提高音量。我尝试过使用NAudio,但它似乎会进行一些转换,并且不再播放。这是我用来提高音量的代码:
public string ConvertToString(Stream audioStream)
{
audioStream.Seek(0,SeekOrigin.Begin);
byte[] bytes = new byte[audioStream.Length];
audioStream.Read(bytes,0,(int)audioStream.Length);
audioStream.Seek(0,SeekOrigin.Begin);
return Convert.ToBase64String(bytes);
}
var fReader = new WaveFileReader(strm);
var chan32 = new WaveChannel32(fReader,50.0F,0F);
var ouputString = "data:audio/wav;base64," + ConvertToString(chan32);
但是当我把outputString放入一个音频标签时,它无法播放。 NAudio做了哪些类型的转换,以及如何让它获得音频流,以便我可以序列化它并让浏览器能够播放它? 还是其他建议:如果n音讯权重股如调高音量什么的对我来说是更好的选择,因为简单的东西吗?
这不是头,但你我指出了正确的方向。我看到waveChannel32将编码更改为ieeefloat(chrome只支持pcm)。提高音量(或将其转换回pcm)最简单的方法是什么?在这一点上,我不关心表现(尽管我把音量降低到了10)。正如我所说的, – Fragilerus 2013-03-06 00:45:05
,调整音量后使用Wave32To16Stream找回16位PCM。 10仍然会剪辑。 1.0意味着根本不改变样品的值。 2.0会使它们翻一番。 16位样本的最大值是32767,所以如果将它们全部乘以10,那么3277以上的任何值都将被剪切。 – 2013-03-06 08:21:29
这并没有解决我的问题,但我将其标记为接受的,因为有一些很好的意见,并没有其他人给了一个更好的解决方案。看起来我试图用一把大锤打破坚果来完成像我这样的简单任务。 NAudio是一个功能全面的库,对于我的需求来说太复杂了。我会找到一个不同的解决方案。 – Fragilerus 2013-03-10 02:10:41