gpt4 book ai didi

iphone - 获取 AVAssetReader 的示例数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:17 24 4
gpt4 key购买 nike

我正在尝试从 MP3 中获取 PCM 数据。我正在使用 AVAssetReaderOutput,它似乎可以很好地读取数据。

while(true)
{
nextBuffer = [assetReaderOutput copyNextSampleBuffer];

if(nextBuffer)
{

countsample = CMSampleBufferGetNumSamples(nextBuffer);
NSLog(@"%i", countsample);
}

}

我注意到如果我将 countsample 相加,它等于歌曲中的秒数(假设 44100hz 采样率)。出于这个原因,我确信阅读处理得很好。然而,我想做的是对这些数据执行各种 DSP 过滤器,但我需要对样本信息本身执行此操作。我如何访问示例数据?此外,我注意到 CMSampleBufferGetNumSamples 总是返回 8192,除了在歌曲结束时。有没有办法增加/减少这个读取率?谢谢

最佳答案

将数据附加到 NSMutableData 对象。

NSMutabelData *samples = [NSMutabelData data];
while(countsample)
{
nextBuffer = [assetReaderOutput copyNextSampleBuffer];
if(nextBuffer)
{
countsample = CMSampleBufferGetNumSamples(nextBuffer);
[samples appendBytes:nextBuffer length:countsample];
}
}

countsamplenextBuffer 假定已存在于您的代码中。

关于iphone - 获取 AVAssetReader 的示例数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590851/

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