我有一些游戏声音,例如四种不同的哔哔声,每一种都会根据用户执行的操作播放。我是否需要实例化四个不同的AVAudioPlayer对象?还是我只需要一名主力球员?如果我只需要一个,那么如何切换文件URL?这就是我现在正在做的:NSError*error;soundPlayer=[[AVAudioPlayeralloc]initWithContentsOfURL:markedSounderror:&error];但是初始化好像需要几秒。有没有办法预加载文件并在它们之间快速切换? 最佳答案 继续创建尽可能多的实例。初始化后,使用方法prep
我知道可以使用AVPlayer播放iPod歌曲,但我不知道如何使用initWithContentsOfURL使用iPod歌曲URL初始化AVAudioPlayer。当我尝试时,AVAudioPlayer在初始化时返回NULL。我需要使用AVAudioPlayer因为当我的应用在后台运行时我需要使用它的委托(delegate)方法audioPlayerDidFinishPlaying进行进一步处理(即AVAudioPlayer委托(delegate)方法audioPlayerDidFinishPlaying如果应用程序在后台运行,则会调用。但是AVPlayer不提供委托(delegate
我想播放从我的服务器检索到的声音文件,作为base64编码文件。到目前为止,我已经使用base64解码文件并将其写入文件:NSFileManager*fileManager=[NSFileManagerdefaultManager];NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSString*filePath=[documentsDirector
我的音频从扬声器播放,我希望它从接收器播放(使用按钮)。起初我试图强制声音从接收器输出。(我要兼容iOS3.2)这是[superviewDidLoad]之后的结果;[[AVAudioSessionsharedInstance]setDelegate:self];[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryPlaybackerror:nil];//UInt32audioRouteOverride=kAudioSessionOverrideAudioRoute_Speaker;UInt32audioRou
已更新为什么NSDatadataWithContentsOfFile行在Instruments中显示泄漏?我正在使用ARC。部署目标是iOS5.0@autoreleasepool{AudioPlayerAV*context=[userInfovalueForKey:@"self"];NSString*filepath=[userInfovalueForKey:@"filepath"];[context.playerstop];//checkiffileistherefetchplayerfromdictAVAudioPlayer*_player=nil;NSError*error=ni
我正在尝试向UIButton添加点击声音,以便在按下时播放。到目前为止,我已经尝试了两种方法,但都没有达到我希望的效果。我尝试过使用简单的SystemSounds,但它们是一个丑陋的解决方案,因为用户无法(或者说非常有限)控制音量。我还尝试了以下形式的AVAudioPlayer(在ViewController的init方法中调用):[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryAmbienterror:nil];[[AVAudioSessionsharedInstance]setActive:YESer
我正在循环播放声音文件,每次循环从头开始时都需要重新启动动画。我在文档中找不到它的委托(delegate)方法。有没有办法在播放器循环到开头时收到通知?我的方法是使用一个计时器,每隔几毫秒检查一次当前播放时间,但这听起来像是一个糟糕的解决方案。 最佳答案 不,据我所知,您的解决方案是唯一可行的。finishedPlaying方法在循环时不会被调用,因此对位置进行采样是唯一的技术。我正在更新一些继承的代码以添加循环并在iOS8下得出这个结论。 关于iphone-当AVAudioPlayer
我是ios开发的新手。我正在使用AVAudioPlayer。音频在前台播放。之后,当我点击主页按钮时,应用程序进入后台,但音频被静音。 最佳答案 试试这个,-(void)applicationDidEnterBackground:(UIApplication*)application{__blockUIBackgroundTaskIdentifiertask=0;task=[applicationbeginBackgroundTaskWithExpirationHandler:^{NSLog(@"Expirationhandlerc
我用这段代码来播放歌曲,它不是在文件夹或文件夹的文件夹中播放歌曲,除了Documents目录。NSString*songname=[NSStringstringWithFormat:@"%@",songArray[songIndex]];NSLog(@"songname:%@",songname);NSString*saveFileName=songname;NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirec
我使用一段代码来播放.caf音频文件,同样的代码在iPhone4s和iPad2上运行良好,但在iPhone5上根本无法播放...这是代码:-(IBAction)checkSound:(id)sender{NSURL*url=[NSURLfileURLWithPath:[NSStringstringWithFormat:@"%@/Lunatic.caf",[[NSBundlemainBundle]resourcePath]]];NSLog(@"%@",url);NSError*error;self.audioPlayer=[[AVAudioPlayeralloc]initWithCont