AudioServicesPlaySystemSound
全部标签 当调用AudioServicesPlaySystemSound时,它会很好地播放之前创建的SystemSound。但是当我之后直接调用AudioServicesDisposeSystemSoundID时,没有播放声音。似乎声音资源在播放之前就被处理掉了。但是在thisStackoverflow-Question人们说,有必要处理System-Sound以避免内存泄漏。这两种方法的正确方法是怎样的?我应该在几秒钟后用计时器调用Dispose-Method吗?或者创建一个单例,在第一次调用Play-Method时创建一次声音资源,并在单例的dealloc中处理资源?-(void)playS
我正在使用适用于iPhone的读卡器,我需要在插入读卡器时播放声音。由于一些其他问题,我使用了AudioServicesPlaySystemSound。但是当读卡器插入时,声音不会通过扬声器播放。有什么方法可以在使用AudioServicesPlaySystemSound时将音频channel更改为扬声器?UInt32doChangeDefaultRoute=1;AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,sizeof(doChangeDefaultRoute),&doCh
我在模拟器上运行下面的代码,但我听不到任何声音:NSString*soundPath=[[NSBundlemainBundle]pathForResource:@"pageflip"ofType:@"mp3"];NSURL*soundUrl=[NSURLfileURLWithPath:soundPath];AudioServicesCreateSystemSoundID((__bridgeCFURLRef)soundUrl,&_soundEffect);AudioServicesPlaySystemSound(_soundEffect);代码已在xCode5和iOS7上成功测试。根据需
我正在开发录音应用程序,我想在录音开始时播放声音。不幸的是,从iOS5开始,当带有音频设备的AVCaptureSession处于事件状态时,似乎无法播放系统声音。这是我正在使用的代码的相关部分-(void)viewDidLoad{[superviewDidLoad];NSURL*soundURL=[[NSBundlemainBundle]URLForResource:@"recording-starts"withExtension:@"aif"];AudioServicesCreateSystemSoundID((__bridgeCFURLRef)soundURL,&_recStart
有没有办法取消、暂停或停止通过调用AudioServicesPlaySystemSound()开始播放的声音? 最佳答案 不幸的是,您不能-顾名思义,它旨在播放用于系统警报的声音,您不需要控制它们。您可以通过调用AudioServicesDisposeSystemSoundID()来停止通过AudioServicesPlaySystemSound()播放的声音,但这是一个hacky,最好避免。直接、简单地控制音频播放的最佳选择是使用AVPlayer,它是AVFoundation的一部分-文档here.