jjzjj

AVAudioPlayer

全部标签

objective-c - 每个单独的声音都需要一个 AVAudioPlayer 实例吗?

我有一些游戏声音,例如四种不同的哔哔声,每一种都会根据用户执行的操作播放。我是否需要实例化四个不同的AVAudioPlayer对象?还是我只需要一名主力球员?如果我只需要一个,那么如何切换文件URL?这就是我现在正在做的:NSError*error;soundPlayer=[[AVAudioPlayeralloc]initWithContentsOfURL:markedSounderror:&error];但是初始化好像需要几秒。有没有办法预加载文件并在它们之间快速切换? 最佳答案 继续创建尽可能多的实例。初始化后,使用方法prep

ios - 使用 initWithContentsOfURL 使用 iPod 歌曲 URL 初始化 AVAudioPlayer

我知道可以使用AVPlayer播放iPod歌曲,但我不知道如何使用initWithContentsOfURL使用iPod歌曲URL初始化AVAudioPlayer。当我尝试时,AVAudioPlayer在初始化时返回NULL。我需要使用AVAudioPlayer因为当我的应用在后台运行时我需要使用它的委托(delegate)方法audioPlayerDidFinishPlaying进行进一步处理(即AVAudioPlayer委托(delegate)方法audioPlayerDidFinishPlaying如果应用程序在后台运行,则会调用。但是AVPlayer不提供委托(delegate

ios - 使用 AVAudioPlayer iOS 从 NSData 播放声音

我想播放从我的服务器检索到的声音文件,作为base64编码文件。到目前为止,我已经使用base64解码文件并将其写入文件:NSFileManager*fileManager=[NSFileManagerdefaultManager];NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSString*filePath=[documentsDirector

ios - 将声音输出到接收器而不是扬声器

我的音频从扬声器播放,我希望它从接收器播放(使用按钮)。起初我试图强制声音从接收器输出。(我要兼容iOS3.2)这是[superviewDidLoad]之后的结果;[[AVAudioSessionsharedInstance]setDelegate:self];[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryPlaybackerror:nil];//UInt32audioRouteOverride=kAudioSessionOverrideAudioRoute_Speaker;UInt32audioRou

iphone - NSData dataWithContentsOfFile 仪器 100% 泄漏

已更新为什么NSDatadataWithContentsOfFile行在Instruments中显示泄漏?我正在使用ARC。部署目标是iOS5.0@autoreleasepool{AudioPlayerAV*context=[userInfovalueForKey:@"self"];NSString*filepath=[userInfovalueForKey:@"filepath"];[context.playerstop];//checkiffileistherefetchplayerfromdictAVAudioPlayer*_player=nil;NSError*error=ni

iphone - 向 UIButton 添加声音的可靠方法

我正在尝试向UIButton添加点击声音,以便在按下时播放。到目前为止,我已经尝试了两种方法,但都没有达到我希望的效果。我尝试过使用简单的SystemSounds,但它们是一个丑陋的解决方案,因为用户无法(或者说非常有限)控制音量。我还尝试了以下形式的AVAudioPlayer(在ViewController的init方法中调用):[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryAmbienterror:nil];[[AVAudioSessionsharedInstance]setActive:YESer

iphone - 当 AVAudioPlayer 循环回到开头时如何得到通知?

我正在循环播放声音文件,每次循环从头开始时都需要重新启动动画。我在文档中找不到它的委托(delegate)方法。有没有办法在播放器循环到开头时收到通知?我的方法是使用一个计时器,每隔几毫秒检查一次当前播放时间,但这听起来像是一个糟糕的解决方案。 最佳答案 不,据我所知,您的解决方案是唯一可行的。finishedPlaying方法在循环时不会被调用,因此对位置进行采样是唯一的技术。我正在更新一些继承的代码以添加循环并在iOS8下得出这个结论。 关于iphone-当AVAudioPlayer

ios - 按下主页按钮后 AVAudioPlayer 不播放音频

我是ios开发的新手。我正在使用AVAudioPlayer。音频在前台播放。之后,当我点击主页按钮时,应用程序进入后台,但音频被静音。 最佳答案 试试这个,-(void)applicationDidEnterBackground:(UIApplication*)application{__blockUIBackgroundTaskIdentifiertask=0;task=[applicationbeginBackgroundTaskWithExpirationHandler:^{NSLog(@"Expirationhandlerc

ios - AVAudioPlayer 不播放文件夹内的歌曲?

我用这段代码来播放歌曲,它不是在文件夹或文件夹的文件夹中播放歌曲,除了Documents目录。NSString*songname=[NSStringstringWithFormat:@"%@",songArray[songIndex]];NSLog(@"songname:%@",songname);NSString*saveFileName=songname;NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirec

iphone - 音频文件无法在 iPhone 5 中播放

我使用一段代码来播放.caf音频文件,同样的代码在iPhone4s和iPad2上运行良好,但在iPhone5上根本无法播放...这是代码:-(IBAction)checkSound:(id)sender{NSURL*url=[NSURLfileURLWithPath:[NSStringstringWithFormat:@"%@/Lunatic.caf",[[NSBundlemainBundle]resourcePath]]];NSLog(@"%@",url);NSError*error;self.audioPlayer=[[AVAudioPlayeralloc]initWithCont