首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioQueue和iOS4?

AudioQueue和iOS4?
EN

Stack Overflow用户
提问于 2010-06-27 16:47:20
回答 1查看 1K关注 0票数 0

下面的代码过去对我来说是有效的。我现在正在尝试使用iOS4,但运气不佳。它在模拟器中工作,但我在设备本身上听不到任何东西。我首先尝试将一些样本记录到NSMutableData变量中,然后尝试回放它们。

我尝试过苹果公司的SpeakHere示例--它可以工作(但它是从文件而不是内存中回放的)。

知道我错过了什么吗?

代码语言:javascript
复制
AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

AudioQueueNewOutput(&m_format,&OutputCallback,self,CFRunLoopGetCurrent(), kCFRunLoopCommonModes,0,&m_device);   
AudioQueueBufferRef nBuffer=NULL;
AudioQueueAllocateBuffer(m_device,[data length],&nBuffer);
nBuffer->mAudioDataByteSize=[data length];
[data getBytes:(nBuffer->mAudioData) length:(nBuffer->mAudioDataByteSize)];
AudioQueueEnqueueBuffer(m_device,nBuffer,0,NULL);
AudioQueueStart(m_device,NULL);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-26 03:56:01

我可以提出的主要建议是:

(1)确保设备未静音且音量已调高

(2)检查结果码。例如:

代码语言:javascript
复制
OSStatus errorCode = AudioQueueNewOutput (...) ;

if ( errorCode ) NSLog ( @"Error: %u" , errorCode ) ;

其他一些可以给你提供更多信息的东西:

当它应该运行时,试着调整音量。如果调节振铃器音量,则说明AudioQueue未正确播放和/或设置。如果AudioQueue调整了播放音量,那么当它请求数据时,可能得不到数据。

郑重声明,我有一个在所有设备上使用iOS 4上的AudioQueue的应用程序,所以我知道它是有效的,它不是一个bug。

坚持下去: AudioQueue有时会非常非常烦人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3126872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档