gpt4 book ai didi

c# - 使用NAudio,ADTS AAC转WAV转码,怎么做?

转载 作者:行者123 更新时间:2023-12-03 01:50:55 25 4
gpt4 key购买 nike

我正在尝试实现以下我发现的代码 here

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Media;
using NAudio.Wave;


namespace AAC2WAV
{
class Program
{
static void Main(string[] args)
{
// create media foundation reader to read the AAC encoded file
using (MediaFoundationReader reader = new MediaFoundationReader(args[0]))
// resample the file to PCM with same sample rate, channels and bits per sample
using (ResamplerDmoStream resampledReader = new ResamplerDmoStream(reader,
new WaveFormat(reader.WaveFormat.SampleRate, reader.WaveFormat.BitsPerSample, reader.WaveFormat.Channels)))
// create WAVe file
using (WaveFileWriter waveWriter = new WaveFileWriter(args[1], resampledReader.WaveFormat))
{
// copy samples
resampledReader.CopyTo(waveWriter);
}

}
}
}

输入文件是 *.aac (args[0]) 输出文件应该是 *.wav (args[1])。
我将编译后的代码作为控制台应用程序运行,我没有收到任何错误,但是一旦它创建了大小为 0 KB 的 wav 文件,它似乎就会挂起

我想知道是否有我遗漏的东西或者我需要进一步理解的东西。

Windows 将 *.aac 文件报告为 ADTS。

也许是我需要提取和重写标题,但我对 AAC 一点也不熟悉,所以如果认为有必要,我会在这方面寻求一些指导。

当我尝试使用 WMP 打开文件时,它说它无法连接到服务器(提示编解码器问题),但是我可以使用 FFMPEG 将其转换为 wav 文件而不会遇到任何问题。对于我正在查看的特定实现,使用 FFMPEG 并不理想。

任何帮助将不胜感激。

实际文件信息:
General 
Complete name : C:\Users\....\AAC2WAV\bin\Debug\0cc409aa-f66c-457a-ac10-6286509ec409.aac
Format : ADIF
Format/Info : Audio Data Interchange Format
File size : 180 KiB
Overall bit rate mode : Constant

Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : Main
Bit rate mode : Constant
Channel(s) : 14 channels
Channel positions : , Back: 14
Sampling rate : 96.0 kHz
Frame rate : 93.750 FPS (1024 spf)
Compression mode : Lossy
Stream size : 180 KiB (100%)

从文件中收集的信息使用: MediaInfo

我应该在这里补充一点,我认为上述信息的下半部分是不正确的。
采样率不是 96k 而是 22050 并且只有 1 个 channel

最佳答案

您不需要重采样器 - MediaFoundationReader已经返回 PCM。您还应该使用 WaveFileWriter.CreateWaveFile
这应该是您所需要的:

using (var reader = new MediaFoundationReader("myfile.aac"))
{
WaveFileWriter.CreateWaveFile("pcm.wav", reader);
}

关于c# - 使用NAudio,ADTS AAC转WAV转码,怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com