Macos 是否可以更改音频队列的播放音调
在Mac OS X上,通过覆盖AudioStreamBasicDescription中的采样率,然后创建一个新的输出队列,这应该是可能的 我已经能够检索默认采样率并编写一个新的采样率,即用48000替换44100,但这不会导致输出信号中的任何基音变化Macos 是否可以更改音频队列的播放音调,macos,pitch,audioqueue,sample-rate,Macos,Pitch,Audioqueue,Sample Rate,在Mac OS X上,通过覆盖AudioStreamBasicDescription中的采样率,然后创建一个新的输出队列,这应该是可能的 我已经能够检索默认采样率并编写一个新的采样率,即用48000替换44100,但这不会导致输出信号中的任何基音变化 err = AudioFileGetProperty(mAudioFile, kAudioFilePropertyDataFormat, &size, &mDataFormat); if (err != noErr)
err = AudioFileGetProperty(mAudioFile, kAudioFilePropertyDataFormat, &size, &mDataFormat);
if (err != noErr)
NSLog(@"Couldn't determine the audio file format");
Float64 mySampleRate = mDataFormat.mSampleRate; //the initial rate
if (inRate != 1) {
//write a new value
mDataFormat.mSampleRate = inRate;
//then
err = AudioQueueNewOutput etc.
如有任何建议,将不胜感激 改变采样率不会改变音频的音调。你可能会感觉到播放得更快的东西音高更高。然而,这是感知,而不是现实 要改变音高,您需要通过数字信号处理DSP库处理音频数据。或者,看看如何通过AudioUnit运行它: 改变采样率确实会改变音频的音调。它同时改变音高和节奏。这不仅仅是感知。当然,你是对的,你可以单独改变音高,而不改变节奏。