gpt4 book ai didi

objective-c - ExtAudioFileWrite仅写入文件的第一位

转载 作者:行者123 更新时间:2023-12-02 22:41:20 27 4
gpt4 key购买 nike

我正在使用ExtAudioFileWrite从MusicPlayer写入OSX项目中的WAV文件(使用Soundfont进行声音采样)。它被嵌入到Rails应用程序中(使用Ruby扩展来封装Objective-C代码),并且在我的计算机上运行良好-WAV文件已成功写入。

但是,我最近将代码放在Mac服务器上,以便可以在线访问该应用程序。我发现的是,当在服务器上运行时,代码会生成一个持续时间正确的WAV文件,但是其中大约15秒的音频完全是静音的。

好像ExtAudioFileWrite在正确的持续时间内(整个轨道)继续写入,但是由于某种原因,在大约15秒钟的音频后,它开始写入静音。

有谁之前经历过这个吗?

这是编写代码的代码:

MusicTimeStamp currentTime;
AUOutputBL outputBuffer (clientFormat, numFrames);
AudioTimeStamp tStamp;
memset (&tStamp, 0, sizeof(AudioTimeStamp));
tStamp.mFlags = kAudioTimeStampSampleTimeValid;
int i = 0;
int numTimesFor10Secs = (int)(10. / (numFrames / srate));

do {
outputBuffer.Prepare();
AudioUnitRenderActionFlags actionFlags = 0;
FailIf ((result = AudioUnitRender (outputUnit, &actionFlags, &tStamp, 0, numFrames, outputBuffer.ABL())), fail, "AudioUnitRender");

tStamp.mSampleTime += numFrames;

ExtAudioFileWrite(outfile, numFrames, outputBuffer.ABL());

MusicPlayerGetTime(player, &currentTime);
} while (currentTime < sequenceLength);

最佳答案

我通过确保服务器运行与我的计算机运行的操作系统和Xcode版本完全相同的方法解决了此问题。这解决了问题。

关于objective-c - ExtAudioFileWrite仅写入文件的第一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021806/

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