jjzjj

AVAudioPlayer

全部标签

ios - AVAudioPlayer 实例的过度释放

很难找到这个。生产应用程序间歇性崩溃(约2%的用户)。这是一款纸牌游戏,因此需要大量点击纸牌。每当您点击卡片时,它都会发出声音。崩溃似乎是随机发生的,但我可以通过点击卡片一段时间来重现,然后它会随机崩溃。不可能可靠地重现,但在使用Instruments/Zombies进行长时间session后,我看到Zombie对象是一个AVAudioPlayer对象。这是一个简单的纸牌游戏应用程序(不是使用SK或任何其他游戏框架完成的——所有UIKit/普通ObjectiveC)。我正在使用一个非常简单的AVAudioPlayer实现。以下是所有详细信息。堆栈跟踪:Crashed:com.apple

ios - AVAudioPlayer 在 iPod touch 2G 和 3G 中播放音乐

我正在尝试使用AVAudioPlayer在iPhone和iPodtouch上播放音频文件。该代码在iPhone和iPodtouch4G中运行良好,我可以听到音乐。但是当我在iPodtouch2G、iPodtouch3G上测试时,我听不到任何声音。下面是我用来播放音频文件的代码:NSString*zeroAudioPath=[[NSBundlemainBundle]pathForResource:@"TimerBell"ofType:@"aif"];NSURL*file=[[NSURLalloc]initFileURLWithPath:zeroAudioPath];AVAudioPlay

iphone - 多任务处理 : Stop Background Audio at Specific Time

我正在开发一个iPhone应用程序,它使用背景音频(无限循环)在应用程序进入后台后继续播放。我的问题是我想实现一个“sleep定时器”,它会在指定时间后停止播放。这可能吗?我花了一个小时寻找一种方法来执行此操作,但无济于事。编辑:我目前的想法是使用较低级别的API,即音频队列服务,并在AudioQueueOutputCallback期间使用循环的另一个实例手动重新填充队列。如果计时器已过期,我不会填充循环。我假设这应该有效,因为文档说当应用程序正在播放多任务背景音频时,音频回调仍然会被触发。谁能想到更好的方法或为什么这行不通的原因? 最佳答案

iphone - 如何在 ios5 中播放 AVAudioPlayer 本地方法?

我认为它与iOS5中的ARC有关,但是当我在方法中声明一个AVAudioPlayer并播放它时,它不会播放。我认为它会在方法结束时自动释放,因为我不记得在iOS5之前发生过这种情况。如果我将它设为全局变量,它就可以正常工作。有什么方法可以使用本地实例吗? 最佳答案 让它成为一个保留属性,并让你的类成为委托(delegate),这样你就可以在它播放完毕后进行清理。在你的标题中:@interfaceMyClass:NSObject@property(strong)AVAudioPlayer*player;然后,当你使用它时:self.p

ios - AVAudioPlayer 后台任务不适用于 iOS 5.0.1 设备,但它适用于 iOS 5 模拟器

我正在做一个播放歌曲的示例应用程序,即使应用程序进入后台,该歌曲仍会播放。在iOS5xcode模拟器中,当应用程序进入后台时它仍然播放歌曲,但是当我在iOS5.0.1iPad2设备上运行时,应用程序在进入后台时停止播放声音。以下是播放歌曲和执行后台任务的代码。您在iOS5.0.1中遇到过此类问题吗?或者我在代码中遗漏了什么?但我想知道它在模拟器中是如何工作的?-(void)viewDidLoad{[superviewDidLoad];NSURL*url=[NSURLfileURLWithPath:[[NSBundlemainBundle]pathForResource:@"01-Tra

ios - 如何通过 AVAssetReader 播放声音

我正在使用AVAssetReader从视频文件中获取各个帧。我想知道如何播放Mp4文件中的音频。方法[playerplay]的返回值为false,所以没有声音播放,但是为什么谢谢。创建AVAssetReaderNSURL*url=[NSURLfileURLWithPath:[[NSBundlemainBundle]pathForResource:@"zhang"ofType:@"mp4"]];AVURLAsset*avasset=[[AVURLAssetalloc]initWithURL:urloptions:nil];AVAssetTrack*track1=[[avassettrac

iphone - 超出范围的变量

我有一个AVAudioPlayer的子类,在那个子类中我有一个停止当前播放器的方法,并且(出于我不会解释的原因)手动调用audioPlayerDidFinishPlaying就像这个://HandlesstoppingtheplayerandcallingaudioPlayerDidFinishPlaying-(void)stopPlayerForTimedRepeat{//Stoptheplayer[selfstop];//ManuallycalltheaudioplayercallbackEditPlayListViewController*playlistController=[

ios - 协调 CACurrentMediaTime() 和 deviceCurrentTime

我正在尝试将多个CABasicAnimations与AVAudioPlayer同步。我遇到的问题是CABasicAnimation在安排动画时使用CACurrentMediaTime()作为引用点,而AVAudioPlayer使用deviceCurrentTime.同样对于动画,使用CFTimeInterval,而对于声音,它使用NSTimeInterval(不确定它们是否像其他CF和NS类型一样“免费桥接”)。我发现引用点也不同。有没有办法确保声音和动画使用相同的引用点? 最佳答案 我不知道“官方”答案,但它们都是doublefl

ios - 以 AAC 格式录制和播放音频 iOS 5 +

我想在iOS中录制语音并播放。我也想将录制的文件发送到服务器。我有一个想法,即录制的文件也必须在ANDROID设备上播放。所以我尝试使用MP3。但是AVAudioRecorder不允许使用MP3格式进行录音。所以我使用了AAC。但它不起作用。这是我的代码-(void)initializeAudioRecorder{self.btnPlayRecording.enabled=NO;self.btnStopRecording.enabled=NO;//GetsoundfileURLinwhichrecordingissavedNSURL*soundFileURL=[NSURLfileURL

objective-c - 在 iOS 中播放声音会暂停背景音乐

如何在不暂停背景音乐的情况下在iOS中播放声音?我有这个:NSString*soundPath=[[NSBundlemainBundle]pathForResource:@"alert"ofType:@"wav"];NSURL*url=[NSURLURLWithString:soundPath];[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryAmbienterror:nil];AVAudioPlayer*audioPlayer=[[AVAudioPlayeralloc]initWithContentsO