录制的音频数据流传给一个数组 byte[] ab=byteArrayOutputStream.toByteArray();保存成txt文件 值都很小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了录制的音频数据流传给一个数组 byte[] ab=byteArrayOutputStream.toByteArray();保存成txt文件 值都很小相关的知识,希望对你有一定的参考价值。

放到音频软件里没有声音,下面是我得到的值
0
0
-2
-1
2
0
-8
-1
10
0
-20
-1
30
0
-52
-1
81
0
109
-1
116
直接保存成wav格式的就有声音,这是怎么回事啊

参考技术A 保存成text文档,已经不是wav的文件格式了。 wav是有格式的。追问

那这些数据流里的数据时什么数据?

在 Windows 8 应用程序中转换字节数组以产生不同的音频声音

【中文标题】在 Windows 8 应用程序中转换字节数组以产生不同的音频声音【英文标题】:Convert byte array to produce different Audio Sound in Windows 8 app 【发布时间】:2014-05-27 11:49:03 【问题描述】:

我有一个应用程序可以录制声音并将文件保存为 Mp3 文件。我可以通过转换 byte[] 数组来创建 MP3 文件。但是,我很想知道我们如何更改 byte[] 数据以复制不同的疯狂声音或声音。以下是用于将字节流转换为mp3声音的代码sn-p。任何想法!

 private async void SaveButton_Click(object sender, RoutedEventArgs e)
    
        var mediaFile = await _fileSavePicker.PickSaveFileAsync();

        if (mediaFile != null)
        
            using (var dataReader = new DataReader(_audioStream.GetInputStreamAt(0)))
            
                await dataReader.LoadAsync((uint) _audioStream.Size);
                byte[] buffer = new byte[(int) _audioStream.Size];
                dataReader.ReadBytes(buffer);
                await FileIO.WriteBytesAsync(mediaFile, buffer);
                UpdateRecordingControls(RecordingMode.Initializing);
            
        
    

【问题讨论】:

我不太明白你问题中的以下句子:,我很想知道我们如何更改 byte[] 数据以复制不同的疯狂声音或声音。,您能否更好地解释一下您要完成的工作? 基本上,识别声音并将声音更改为新的东西......就像会说话的汤姆应用程序 【参考方案1】:

您可以使用NAudio 来执行此操作。它实际上是一个完整的库,可以帮助您管理音频文件。

Here 是Mark Heath 提供的关于如何使用 NAudio 重新采样音频文件的基础教程。

【讨论】:

以上是关于录制的音频数据流传给一个数组 byte[] ab=byteArrayOutputStream.toByteArray();保存成txt文件 值都很小的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 8 应用程序中转换字节数组以产生不同的音频声音

音频指纹和标准化

录制音频数据并将其发送到 c++ 函数

c# byte操作

将 NAudio 的 float[] 转换为 byte[]

从 C++ ASIO 库用 C# 录制音频流