问题描述
我正在用 Html5 录制 ogg 文件。记录的很好。但我想将 OGG 文件转换为 OPUS 格式的文件。我试过很多库都没有按预期工作。
帧大小必须是以下之一:2.5、5、10、20、40 或 60。 参数名称:长度。
using (FileStream fileIn = new FileStream(@"C:\Users\Downloads\1.ogg",FileMode.Open))
using (MemoryStream pcmStream = new MemoryStream())
{
short[] packets = new short[0];
var decoder = Concentus.Structs.OpusDecoder.Create(48000,2);
var oggIn = new Concentus.Oggfile.OpusOggReadStream(decoder,fileIn);
while (oggIn.HasNextPacket)
{
short[] packet = oggIn.DecodeNextPacket();
if (packet != null)
{
for (int i = 0; i < packet.Length; i++)
{
var oggbytes = BitConverter.GetBytes(packet[i]);
pcmStream.Write(bytes,bytes.Length);
}
if (packets != null && packets.Length > 0)
Combine(packets,packet);
else
{
packets = new short[packet.Length];
packets = packet;
}
}
}
pcmStream.Position = 0;
using (var memoryStream = new MemoryStream())
{
pcmStream.copyTo(memoryStream);
var encoder = new OpusDotNet.OpusEncoder(OpusDotNet.Application.Audio,48000,2);
opbytes = new byte[packets.Length];
var obytes = encoder.Encode(memoryStream.ToArray(),packets.Length,out int encodedLength);
System.IO.File.WriteallBytes(@"C:\Users\Downloads\new.opus",memoryStream.ToArray());
}
}
请帮我在 C# 中将 OGG 音频文件转换为 OPUS 音频文件。
提前致谢, 摩尼
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)