我应该改变哪些变量或值来摆脱这个缺陷?这是流格式的问题吗?
我正在使用https://github.com/ronaldmannak/YBAudioFramework/tree/master/YBAudioUnit的YBAudioUnit
码:
YBAudiofilePlayer:
- (voID)setfileURL:(NSURL *)fileURL typeHint:(AudiofileTypeID)typeHint { if (_fileURL) { // Release old file: AudiofileClose(_audiofileID); } _fileURL = fileURL; if (_fileURL) { YBAudioThrowIfErr(AudiofileOpenURL((__brIDge CFURLRef)fileURL,kAudiofileReadPermission,typeHint,&_audiofileID)); YBAudioThrowIfErr(AudioUnitSetProperty(_auAudioUnit,kAudioUnitProperty_ScheduledfileIDs,kAudioUnitScope_Global,&_audiofileID,sizeof(AudiofileID))); // Get number of audio packets in the file: UInt32 propsize = sizeof(_filePacketsCount); YBAudioThrowIfErr(AudiofileGetProperty(_audiofileID,kAudiofilePropertyAudioDataPacketCount,&propsize,&_filePacketsCount)); // Get file's asbd: propsize = sizeof(_fileASBD); YBAudioThrowIfErr(AudiofileGetProperty(_audiofileID,kAudiofilePropertyDataFormat,&_fileASBD)); // Get unit's asbd: propsize = sizeof(_fileASBD); AudioUnitGetProperty(_auAudioUnit,kAudioUnitProperty_StreamFormat,kAudioUnitScope_Output,&_unitASBD,&propsize); if (_fileASBD.mSampleRate > 0 && _unitASBD.mSampleRate > 0) { _sampleRateratio = _unitASBD.mSampleRate / _fileASBD.mSampleRate; } else { _sampleRateratio = 1.; } }}
要玩,我在YBAudiofilePlayer上调用这些方法:
[player1 setfileURL:item.url typeHint:0];[player1 scheduleEntirefilePrimeAndStartImmediately];[graph start];//On a YBAudioUnitGraph which is really just a basic AUGraph解决方法 不仅仅是一个答案,这是一个评论,但它相当大,所以我会在这里发布.
我没有时间和耐心来研究YB .. API中的代码.但是我想到了几个问题.
首先,我记得尝试使用音频单元(使用Apple的API)并且我有很多口吃.我解决了在回调中删除所有Objective-C调用的问题,这些调用将数据提供给我的AUGraph(好吧,除了一个我无法删除的内容之外,我删除了所有内容).我用纯C和C调用替换了所有Objective-c调用.例:
... this is the render callbackint i = [myClass someProperty]; // obj-cint i = myClass->someVarialbe; // c,c++
这只是一个例子,但它得到了显着改善,我摆脱了口吃.也许您可以看一下YBXX API的实现,看看回调中是否有很多obj-c调用,如果有,我就不会使用API.
第二次观察.看起来你只是想播放一个音频文件,因为AudioGraph的开销很大,你可以使用没有Graph的单个IO音频单元.
总结以上是内存溢出为你收集整理的ios – 停止AUGraph的口吃全部内容,希望文章能够帮你解决ios – 停止AUGraph的口吃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)