我试图获得多个声音文件在AVAudioPlayer实例上播放,但是当一个声音播放时,另一个停止。 我一次只能听到一个以上的声音。 这是我的代码: import AVFoundation class GSAudio{ static var instance: GSAudio! var soundFileNameURL: NSURL = NSURL() var soundFileName = "" var soundPlay = AVAudioPlayer() func playSound (soundFile: String){ GSAudio.instance = self soundFileName = soundFile soundFileNameURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(soundFileName, ofType: "aif", inDirectory:"Sounds")!) do{ try soundPlay = AVAudioPlayer(contentsOfURL: soundFileNameURL) } catch { print("Could not play sound file!") […]
我正在尝试创buildplay单个声音文件的button和一个stops所有正在播放的声音的button 。 如果用户在短时间内点击多个button或同一个button ,应用程序应该同时播放所有的声音。 使用iOS的系统声音服务,我已经完成了这个工作。 但是,System Sound Services会通过iPhone's铃声设置的volume播放声音。 我正在尝试使用AVAudioPlayer以便用户可以通过媒体音量play声音。 这是我目前(但不成功)使用播放声音的代码: -(IBAction)playSound:(id)sender { AVAudioPlayer *audioPlayer; NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"Hello" ofType:@"wav"]; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundFile] error:nil]; [audioPlayer prepareToPlay]; [audioPlayer play]; } 每当我在iPhone模拟器中运行这个代码,它不会播放声音,但会显示大量的输出。 当我在iPhone上运行它时,声音根本不起作用。 在做了一些研究和testing之后,我发现audioPlayervariables正在被自动引用计数发布。 另外,当audioPlayervariables被定义为一个实例variables和接口文件中的一个属性时,这个代码就可以工作,但是它不允许我一次播放多个声音。 首先是:如何使用AVAudioPlayer一次播放无限的声音并坚持自动引用计数? 另外:当这些声音正在播放,我怎么能实现第二个IBAction方法来停止播放所有这些?
我正在实现AVAudioPlayer播放audio,并且在播放本地存储在PC中的文件时效果非常好。 但是,当我通过互联网给一些audio文件的url,它伤心地失败。 这是代码的样子: NSString *url = [[NSString alloc] init]; url = @"http://files.website.net/audio/files/audioFile.mp3"; NSURL *fileURL = [[NSURL alloc] initWithString: url]; AVAudioPlayer *newPlayer =[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil]; 有谁能指出这个问题,可以做些什么? 谢谢!
我在基于消息的iPhone应用程序工作。 我添加了哔声以接收其他人的消息。 我正在使用AVAudioPlayer播放哔声。 我的问题是,如果用户从我的应用程序接收到来自应用程序的消息时,将听到来自其他应用程序的歌曲,则会播放哔声,并且背景音乐/audio停止不恢复。 我想通过暂停背景歌曲/audio播放我的嘟嘟声,而且我必须从我的应用程序恢复该audio/歌曲。 有可能在iOS开发? 谁能帮帮我吗? 编辑: 这是我的示例代码。 – (void)viewDidLoad { [super viewDidLoad]; self.title = @"Music"; self.navigationController.navigationBar.barStyle = UIBarStyleBlack; NSString *urlString = [[NSBundle mainBundle] pathForResource:@"basicsound" ofType:@"wav"]; NSURL *audioURL = [[NSURL alloc] initWithString:urlString]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error]; [audioPlayer setDelegate:self]; [audioPlayer prepareToPlay]; audioSession = [AVAudioSession sharedInstance]; [audioSession setActive:YES error:&error]; [audioSession setCategory:AVAudioSessionCategoryPlayback error:&error]; […]
我甚至想在iPhone中以静音模式播放声音。 可以通过使用AVAudioPlayer(不使用AVAudioSession) (对于ios 3.0+) 提前致谢。
我正在写一个应用程序,使用AVAudioPlayer播放一些简单的声音和声音。 然而,为了真正使应用程序“杀手”,它需要访问用户自己的语音备忘录,以便他们可以使用我的应用程序播放自己的备忘录(我的应用程序实际上做了一些很酷的备忘录,所以有实际上是使用它的一个要点!:p)。 我还没有find任何文档,也没有任何指南(在这里或在云中)。 这甚至可能,或者我必须添加一个小指南,要求用户录制声音,导入到iTunes,与设备同步,然后通过音乐库访问它? 或者也许是另一种录制应用程序的解决scheme?
我的应用程序从我们的服务器下载一个MP3并播放给用户。 该文件是64 kbps(如果我理解正确,这是在iPhone的可接受的范围内)。 我已经查找了如何在几十个网站上做到这一点,他们都build议我这样做: NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://…/file.mp3"]]; NSError *e = nil; AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error&e]; [player setDelegate:self]; 当我运行代码时,播放器返回null,我得到这个错误: 2011-02-04 10:44:46.176 MyApp[6052:207] Error loading audio: Error Domain=NSOSStatusErrorDomain Code=1954115647 "The operation couldn't be completed. (OSStatus error 1954115647.)" 2011-02-04 10:44:49.647 MyApp[6052:207] unsupported file type 我已经检查了这个文件,我知道它的工作原理。 它将在Windows Media Player和Mac上的Quicktime上播放。 我也上传了文件到iPhone模拟器,它没有任何问题。 该文件是好的,但由于某种原因AVAudioPlayer不喜欢它。 有什么我需要改变? 是否有某种NSData的设置来指定它是什么types的文件? […]
我试图通过AVAudioPlayer播放MP3,我认为这很简单。 不幸的是,这不是工作。 这是我所做的一切: 为了testing,我在Xcode中创build了一个新的iOS应用程序(Single View)。 我将AVFoundation框架添加到项目中,并将#import <AVFoundation/AVFoundation.h>到ViewController.m 我添加了一个MP3文件到应用程序的文档文件夹。 我改变了ViewControllers viewDidLoad:如下: 码: – (void)viewDidLoad { [super viewDidLoad]; NSString* recorderFilePath = [NSString stringWithFormat:@"%@/MySound.mp3", [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]]; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:recorderFilePath] error:nil]; audioPlayer.numberOfLoops = 1; [audioPlayer play]; //[NSThread sleepForTimeInterval:20]; } 不幸的是,audio开始播放后显然停止。 如果我取消注释sleepForTimeInterval它播放20秒,然后停止。 只有使用ARC进行编译时才会出现此问题,否则,该工作将完美无瑕。
我有一个使用CoreBluetooth背景模式的应用程序。 当某个事件发生时,我需要发出警报声。 在前台一切工作正常,所有的蓝牙function在后台工作正常。 我也有它工作的地方在后台安排UILocalNotification的声音报警,但是我不喜欢缺乏这些音量控制,所以想用AVAudioPlayer播放报警声音。 我已将背景模式audio添加到我的.plist文件,但无法正确播放声音。 我正在使用一个单独的类来报警,并像这样初始化声音: NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:soundName ofType:@"caf"]]; player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; player.numberOfLoops = -1; [player setVolume:1.0]; 我开始这样的声音: -(void)startAlert { playing = YES; [player play]; if (vibrate) [self vibratePattern]; } 并将其用于振动: -(void)vibratePattern { if (vibrate && playing) { AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); [self performSelector:@selector(vibratePattern) withObject:nil afterDelay:0.75]; } } 振动在后台工作正常,但没有声音。 如果我使用Systemsound播放这样的声音,它播放良好(但没有音量控制): […]
我试图用AVAudioPlayer播放声音,但它不会工作。 编辑1:仍然不起作用。 编辑2 :此代码的作品。 我的设备处于静音模式。 import UIKit import AVFoundation class ViewController: UIViewController { var audioPlayer = AVAudioPlayer() override func viewDidLoad() { super.viewDidLoad() var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("button-09", ofType: "wav")) println(alertSound) var error:NSError? audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error) audioPlayer.prepareToPlay() audioPlayer.play() }