Tag: avaudioplayer

AVAudioPlayer和AirPlay – 可能吗?

我试图确定是否可以使用AVAudioPlayer类切换AirPlay支持。 从我读到的: AirPlay是一项技术,可让您的应用程序将audio传输至Apple TV和第三方AirPlay扬声器和接收器。 AirPlay支持内置于AV Foundation框架和Core Audio框架系列。 您使用这些框架播放的任何audio内容自动符合AirPlay发行条件。 一旦用户select使用AirPlay播放audio,系统将自动路由该audio。 [ Ref ] 基于这个信息; 它应该与AVAudioPlayer一起工作,因为它是AVFoundation框架的一部分; 但我似乎无法find任何支持这一假设的文件。 我也发现一些文档说可以用MPMoviePlayerViewController完成: 使用AirPlay播放video的支持包含在MPMoviePlayerController类中。 此支持允许您在启用AirPlay的硬件(如Apple TV)上播放基于video的内容。 当活动MPMoviePlayerController对象的allowsAirPlay属性设置为YES且设备处于启用AirPlay的硬件范围内时,电影播放器​​向用户显示将video发送到该硬件的控件。 [ Ref ] 似乎这里有一些矛盾的信息。 有谁知道是否有可能使用AVAudioPlayer路由到AirPlay或我们被迫使用MPMoviePlayerController类? 非常感谢。

iOS – 录制audio播放失败,OSStatus错误-43(找不到文件)

我加载视图时,按以下方式设置AVAudioRecorder实例: AVAudioSession *audioSession = [AVAudioSession sharedInstance]; audioSession.delegate = self; [audioSession setActive:YES error:nil]; [audioSession setCategory:AVAudioSessionCategoryRecord error:nil]; NSString *tempDir = NSTemporaryDirectory(); NSString *soundFilePath = [tempDir stringByAppendingPathComponent:@"sound.m4a"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; NSLog(@"%@", soundFileURL); NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey, [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, [NSNumber numberWithInt:16], AVEncoderBitRateKey, [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, [NSNumber numberWithFloat:8000.0], AVSampleRateKey, [NSNumber numberWithInt:8], AVLinearPCMBitDepthKey, […]

在后台iOS应用中播放audio

我有一个应用程序主要基于核心蓝牙。 当某些具体事情发生时,应用程序被唤醒使用核心蓝牙背景模式,它会发出警报,但是当应用程序不在前台时,我无法使警报工作。 我有一个Alarm Singleton类,它初始化AVAudioPlayer像这样: NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:soundName ofType:@"caf"]]; self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive: YES error: nil]; [self.player prepareToPlay]; self.player.numberOfLoops = -1; [self.player setVolume:1.0]; NSLog(@"%@", self.player); 这是调用我的闹钟代码时调用的方法: -(void)startAlert { NSLog(@"%s", __FUNCTION__); playing = YES; [self.player play]; NSLog(@"%i", self.player.playing); if (vibrate) { [self vibratePattern]; } […]

尽pipeprepareToPlay()在Swift中AVAudioPlayer产生滞后

播放一个非常短的声音(〜0.5s)会在Swift中编写的SpriteKit iOS游戏中产生一个呃逆(就像一个延迟)。 在其他问题中,我读了我应该prepareToPlay()声音,我做了。 我甚至用一个variables( soundReady )来检查在播放之前是否准备好声音。 每当播放完成时,我也会重新准备声音( audioPlayerDidFinishPlaying() )。 以下是代码的相关部分: class GameScene: SKScene, AVAudioPlayerDelegate { var splashSound = NSURL() var audioPlayer = AVAudioPlayer() var soundReady = false override func didMoveToView(view: SKView) { let path = NSBundle.mainBundle().pathForResource("plopSound", ofType: "m4a") splashSound = NSURL(fileURLWithPath: path) audioPlayer = AVAudioPlayer(contentsOfURL: splashSound, error: nil) audioPlayer.delegate = self soundReady = audioPlayer.prepareToPlay() } […]

如何从iPhone上的在线url获取audio

我知道这已经被很多人问过,但我不知道为什么这不是在我的应用程序在X代码和客观的C! 基本上,我想从一个URL的应用程序播放audio。 只要使用苹果网站的testingaudio,我的代码就是: NSString *playString = @"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"; //Converts songURL into a playable NSURL NSURL *playURL = [NSURL URLWithString:playString]; AVAudioPlayer *backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:playURL error:&error]; if (backgroundMusicPlayer == nil) { NSLog(@"%@", [error description]); } else { [backgroundMusicPlayer prepareToPlay]; [backgroundMusicPlayer play]; } 它出现以下错误: 错误域= NSOSStatusErrorDomain代码= -43“操作无法完成。(OSStatus错误-43。) 我找不到任何东西,当我谷歌。 有任何想法吗? 我应该尝试另一个audiostream? 还是有没有人有一个例子,工程? 是因为我使用iPhone模拟器而不是真正的iPhone吗? 编辑: 请注意 – 当我说url我的意思是从一个实际的网站,如“ http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 […]

AVAudioPlayer在locking屏幕上

我已经使用AVAudioPlayer (而不是AVPlayer )实现了一个audio播放器。 我可以用下面的方法处理远程控制事件。 到目前为止,它工作得很好,但是我看到这些事件UIEventSubtypeRemoteControlEndSeekingForward两个subtypes : UIEventSubtypeRemoteControlEndSeekingForward和UIEventSubtypeRemoteControlEndSeekingBackward 。 – (void)remoteControlReceivedWithEvent:(UIEvent *)event { //if it is a remote control event handle it correctly if (event.type == UIEventTypeRemoteControl) { if (event.subtype == UIEventSubtypeRemoteControlPlay) { [self playAudio]; } else if (event.subtype == UIEventSubtypeRemoteControlPause) { [self pauseAudio]; } else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause) { [self togglePlayPause]; } else if […]

iOS – AVAudioPlayer在后台不会继续播放下一首歌曲

所以我有一个应用程序,播放一堆歌曲,而用户可以翻阅一本漫画书。 我使用AVAudioPlayer,并设置了播放歌曲的顺序。 所以当一首歌完成后,下一首将会播放。 这应用程序打开时,完美的工作。 当应用程序在后台时发生问题。 我设置了应用程序在后台播放,而且工作正常。 所以当用户按下主屏幕时,音乐继续播放。 问题发生在歌曲结束时,应该打开应用程序时播放下一首歌曲。 相反,没有发生。 根据我的NSLog语句正确的方法被调用,但没有任何反应。 这是我的代码: – (void)audioPlayerDidFinishPlaying: (AVAudioPlayer *)player successfully: (BOOL) flag { NSLog(@"Song finished"); if ([songSelect isEqualToString: @"01icecapades"]) { isPlay = @"yes"; songSelect = @"02sugarcube"; imageSelect = @"playbanner02"; [self performSelector:@selector(triggerSong) withObject:nil afterDelay:0]; [self performSelector:@selector(triggerBanner) withObject:nil afterDelay:0]; } else if ([songSelect isEqualToString: @"02sugarcube"]) { isPlay = @"yes"; songSelect = […]

如何将iPod库中的歌曲复制到应用程序并使用AVAudioPlayer播放?

虽然重复,但我想播放使用AVAudioPlayer从iPod库的歌曲。 那么复制iPod库歌曲之后是否可以复制到应用程序? 我有一个代码,将歌曲转换为caf格式,然后我可以使用AVAudioPlayer播放。 但转换时间太长。 那么还有其他方法可以做到吗?

自动重复播放

我使用下面的代码播放声音 NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"01" ofType:@"mp3"]]; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil]; [audioPlayer play]; 我想在完成时自动重复这个声音文件怎么样?

AVAudioPlayer不能在Swift中播放audio

我有这个代码在一个非常简单的单视图Swift应用程序在我的ViewController : var audioPlayer = AVAudioPlayer() @IBAction func playMyFile(sender: AnyObject) { let fileString = NSBundle.mainBundle().pathForResource("audioFile", ofType: "m4a") let url = NSURL(fileURLWithPath: fileString) var error : NSError? audioPlayer = AVAudioPlayer(contentsOfURL: url, error: &error) audioPlayer.delegate = self audioPlayer.prepareToPlay() if (audioPlayer.isEqual(nil)) { println("There was an error: (er)") } else { audioPlayer.play() NSLog("working") } 我添加了import AVFoundation和audioPlayer是一个全局variables。 当我执行代码时,它会打印“正在工作”,所以无错误地播放声音。 设备没有保持沉默。