加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用Core Audio可以安全地忽略__cxa_throw吗?

发布时间:2020-12-14 19:23:06 所属栏目:百科 来源:网络整理
导读:类似的 question已被问过..但我想让它更具体到核心音频……因为我们中的一些人可能已经注意到核心音频几乎没有错误的余地. 正如上述问题的answer解释的那样,__ cxa_throw是C unhandled exception,可以忽略(这个问题似乎是Xcode 4.5.1的新问题..我以前从未见
类似的 question已被问过..但我想让它更具体到核心音频……因为我们中的一些人可能已经注意到核心音频几乎没有错误的余地.

正如上述问题的answer解释的那样,__ cxa_throw是C unhandled exception,可以忽略(这个问题似乎是Xcode 4.5.1的新问题..我以前从未见过它)

我们可以对核心音频说同样的话吗?让我感到紧张的是它与音频的格式化有关…我的很多代码都依赖于它:

我正在尝试将AAC文件转换为lPCM ..

输出格式:

// set up the PCM output format for conversion
streamer->PCMoutputFormat.mSampleRate = 44100.0;
streamer->PCMoutputFormat.mFormatID = kAudioFormatLinearPCM;
streamer->PCMoutputFormat.mFormatFlags = kAudioFormatFlagsCanonical;
streamer->PCMoutputFormat.mBytesPerPacket = 4;
streamer->PCMoutputFormat.mFramesPerPacket = 1;
streamer->PCMoutputFormat.mBytesPerFrame = 4;
streamer->PCMoutputFormat.mChannelsPerFrame = 2;
streamer->PCMoutputFormat.mBitsPerChannel = 16;

输入格式:

mSampleRate = 44100
mFormatID = 1633772320 (AAC)
mFormatFlags = 0
mBytesPerPacket = 0 
mFramesPerPacket = 1024
mBytesPerFrame = 0
mChannelsPerFrame = 2
mBitsPerChannel = 0

实例变量:

game.h

@interface Game : NSObject <GKSessionDelegate>
{
    AudioStreamer *streamer;
}

@property (nonatomic,assign) AudioStreamBasicDescription mediaItemInputFormat;

audioStreamer.h

@interface AudioStreamer : NSObject
{
    @public
        AudioStreamBasicDescription PCMoutputFormat;
        AudioConverterRef audioConverter;
}

在game.m中设置转换器命令(这是抛出__cxa_throw未处理的异常的地方!)

// set up converter
OSStatus result = AudioConverterNew(&_mediaItemInputFormat,&streamer->PCMoutputFormat,&streamer->audioConverter);

解决方法

如果异常没有最终终止应用程序,那么其他一些代码就会处理它.如果您信任那些代码,那么就没什么可担心的了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读