- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试过下面的代码,但在执行它时给出了'fmt?'错误告诉我“此文件类型不支持数据格式”。不幸的是,我无法在任何地方找到解释如果要写入 AIFF 应该如何设置 AudioStreamBasicDescription 的引用。
我用谷歌搜索了这个问题并阅读了我能找到的所有文档,但都无济于事。以前有人做过这种事吗?知道我做错了什么吗?
// This path is just for testing
char * filePath = "/Users/user/Desktop/reverb.aiff";
// This value will actually be set by earlier code depending on how many mics are defined
int channels = 1;
CFURLRef audioFileURL = CFURLCreateFromFileSystemRepresentation(NULL,
(const UInt8 *)filePath,
strlen(filePath),
false);
AudioStreamBasicDescription audioFileDescription = {0};
audioFileDescription.mFormatID = kAudioFormatLinearPCM;
audioFileDescription.mFormatFlags = kLinearPCMFormatFlagIsFloat | kLinearPCMFormatFlagIsBigEndian;
audioFileDescription.mBitsPerChannel = sizeof(float) * 8;
audioFileDescription.mChannelsPerFrame = channels;
audioFileDescription.mBytesPerFrame = (audioFileDescription.mBitsPerChannel / 8) * audioFileDescription.mChannelsPerFrame;
audioFileDescription.mFramesPerPacket = 1;
audioFileDescription.mBytesPerPacket = audioFileDescription.mBytesPerFrame * audioFileDescription.mFramesPerPacket;
AudioFileID audioFileID = 0;
OSStatus createFileStatus = AudioFileCreateWithURL(audioFileURL,
kAudioFileAIFFType,
&audioFileDescription,
kAudioFileFlags_EraseFile,
&audioFileID);
if (createFileStatus != 0) {
cout << "Error creating output file" << endl;
cout << "Error code: " << createFileStatus << ", ";
// hacky way of converting number back to kinda-readable enum code
char chars[5];
for (int i = 3; i >= 0; i--) {
chars[i] = (char)createFileStatus;
createFileStatus = createFileStatus >> 8;
}
char[4] = '\0';
cout << chars << endl;
return 1;
}
最佳答案
AIFF 类型不支持 float 据,您需要创建一个 AIFF-C 文件。因此,当您调用 AudioFileCreateWithURL
时,您使用的是 kAudioFileAIFCType
。
Big Endian 和 float 互不兼容,不要指定 bigEndian。
关于c++ - 如何使用 coreAudio 将标准化浮点值数组写入 AIFF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12159418/
import os import speech_recognition as sr command = "ffmpeg -i videototext.mp4 videototext.mp3" os.s
我正在尝试以编程方式播放我拥有的一些苹果循环文件。因为我喜欢 clojure,所以我首先尝试在 JVM 上使用它。 Java Sound Demo播放包附带的 .aif 效果很好,但是当我尝试播放我的
我正在用这一行编写 aiff 元数据: ffmpeg -i uno.aiff -metadata title=Track -metadata artist=Band -f aiff dos.aiff
我正在尝试编写一个类,将.wav文件转换为.aiff文件作为项目的一部分。 我遇到了几个库Alvas.Audio(http://alvas.net/alvas.audio,overview.aspx)
由于 Sound Track Pro 故障,我有一个有问题的 AIF 文件。 它在 QuickTime Player 中播放良好,时长约为 1 小时 50 分钟。 然而: 它的大小为 3.81GB,而
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
我试过下面的代码,但在执行它时给出了'fmt?'错误告诉我“此文件类型不支持数据格式”。不幸的是,我无法在任何地方找到解释如果要写入 AIFF 应该如何设置 AudioStreamBasicDescr
在 OS X 10.9.4 上使用 Xcode 5.1.1, 考虑以下代码片段: - (IBAction)speak:(id)sender // text to loudspeaker,
这是我目前正在尝试的: final AudioClip note0 = new AudioClip(getClass().getResource("/Downloads/notes/A3.aiff")
这会播放单声道 aifc 文件,但对于任何立体声文件,我都会听到很大的静电声: import pyaudio import aifc CHUNK = 1024 wf = aifc.open('C:\\
我在 JAVA 中使用音频导入器(用于鼓音序器),并且在导入 AIFF 文件时遇到以下问题: 我有 2 个相同类型的 AIFF 文件(24 位、44100kHz、单声道),一个是在 Mac 上创建的,
作为我上一个问题(仍未解决)的后续问题,GUI event not triggering consistently ,我发现了另一个怪癖。下面的代码创建并播放 .wav 文件: import java
尝试在代码中生成方波、锯齿波和 sin wav,然后根据 Chris Adam 的 Learning Core Audio 书籍保存到 AIFF 文件。我有它的工作,但我很困惑为什么我不需要在 Swi
如何使用 ffmpeg 将 wav 文件转换为 AIF 文件? 我需要制作各种文件,一个是 16 位的,一个是 24 位的,一个是 32 位的。 我还需要制作不同的采样率。例如,1 个 176,400
假设我有一个读取 .WAV 或 .AIFF 文件的程序,并且文件的音频被编码为浮点样本值。我的程序假设任何格式正确(基于浮点)的 .WAV 或 .AIFF 文件将仅包含 [-1.0f,+1.0f] 范
我正在为在 Ubuntu 服务器上运行的 Rails 应用程序开发后端任务系统。 在将上传的 AIFF 文件转换为 FLAC 之前,我需要从中删除所有可能存在的标签。我怎样才能做到这一点? TagLi
我在目录中有多个 .aiff 格式的文件,我想使用 SoX 将它们转换为 .wav。我试过 this 上的代码网站,如下 theFiles = `/Users/me/RainbowAiff/*.aif
我有一个 AIFF 格式的音轨。我想用 Python 打开这个音频文件,导入声音的振幅并进行一些数学分析,例如傅里叶变换等。 这在 Python 中可行吗? 是否有库或模块可以让我获取音频文件? 在整
如果是iOS 7 SDK,在SpringBoard.app 里面有一个lock.aiff 的声音文件。声音文件的路径如下。 iPhoneSimulator7.0.sdk/System/Library/
iOS 有各种音频框架,从让您可以简单地播放指定文件的较高级别,到让您获取原始 PCM 数据的较低级别,以及介于两者之间的所有内容。对于我们的应用程序,我们只需要播放外部文件(WAV、AIFF、MP3
我是一名优秀的程序员,十分优秀!