Tag: avaudioplayer

如何发挥多个声音?

我需要播放多个声音文件。 我有以下代码: 我的课 #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> #import <AudioToolbox/AudioToolbox.h> @interface ViewController : UIViewController { AVAudioPlayer *musicPlayer; } – (IBAction)music1:(id)sender; – (IBAction)music2:(id)sender; – (IBAction)music3:(id)sender; – (IBAction)music4:(id)sender; – (IBAction)music5:(id)sender; @end 我的.m文件 #import "ViewController.h" @interface ViewController () @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. […]

播放声音时不停止录制Avcapture

我有一个video录像,那么我有一个AVAudioPlayer,问题是,当声音,你停止注册video。 testAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError]; [sampleData release]; if(audioError != nil) { NSLog(@"An audio error occurred: \"%@\"", audioError); } else { [testAudioPlayer setVolume:100]; [testAudioPlayer setNumberOfLoops: -1]; [testAudioPlayer play];“ 提前致谢

为什么在切换视图时AVAudioPlayer停止方法不起作用

我有一个iphone应用程序,显示图像和播放从主菜单中select的audio。 用户点击一个button来select他们想要的图像/audio组合。 用animation切换视图的代码工作正常。 在新视图中显示图像,播放,暂停,擦洗和停止audio的所有代码都可以正常工作。 但是,当用户单击“主菜单”button时,我希望播放的audio停止。 我正在使用viewWillDisappear:(BOOL)animation来调用stop方法: -(void)viewWillDisappear:(BOOL)animated { audioPlayer.stop; [super viewWillDisappear: animated];} 当用户切换回主菜单视图时,此代码不会停止声音。 有一个更好的方法吗? 难道我做错了什么? 以下是上面代码片段所在类的代码: #import "twelthPoem.h" UIImageView *largeImageView; @implementation twelthPoem -(void)resetControls { audioPlayer.currentTime = 0; scrubber.value = 0; [playButton setImage:[UIImage imageNamed:@"play_HL.png"] forState:UIControlStateNormal]; } -(void)play:(id)sender { if (! audioPlayer.playing) { audioPlayer.play; [playButton setImage:[UIImage imageNamed:@"pauseHL.png"] forState:UIControlStateNormal]; } else { audioPlayer.pause; [playButton setImage:[UIImage imageNamed:@"play_HL.png"] forState:UIControlStateNormal]; } […]

AVAudioPlayer泄漏?

我有一个问题,不知道如何处理它。 Tyringbuild立一个声音和animation的应用程序。 它给了我一个1级,然后2级记忆警告。 我已经尝试过构build和分析,并且得到了所有这些潜在的泄漏。 如果我释放audio声音将不会播放。 任何提示? 这里是代码的一部分和我得到的leakes – (IBAction)playsound2 { NSString *path = [[NSBundle mainBundle] pathForResource:@"cat" ofType:@"mp3"]; AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; *- **Method returns an Objective-C object with a +1 retain count (owning reference)*** theAudio.delegate = self; [theAudio play]; ***- Object allocated on line 302 and stored into 'theAudio' is no […]

我应该怎么做才能调用audioPlayerDidFinishPlaying:

我写这个源程序。 但是我不能调用audioPlayerDidFinishPlaying:方法。 播放声音后,几秒钟后由“exc_bad_access”错误崩溃。 .h文件 #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> @interface SecondViewController : UIViewController< AVAudioPlayerDelegate>{ AVAudioPlayer *aPlayer; } @end .m文件 -(void)playSound{ NSString *soundName = @"red"; NSError *error = nil; NSURL *soundUrl = [[NSBundle mainBundle] URLForResource:soundName withExtension:@"mp3"]; aPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:&error]; if (error != nil) { NSLog(@"audio_player initialized error :(%@)",[error localizedDescription]); [aPlayer release]; error=nil; return; } […]

在logging的audio文件的末尾添加静音

目前我允许用户录制自己的声音,持续时间不超过30秒。 一旦他们完成录制他们的audio,我抓住他们的audio持续时间。 我运行这个快速math(SixtySeconds-TheirAudioDuraion)= TimeNeededToFill。 基本上我最终需要一个精确的1分钟的赛道。 其中一部分是实际的audio,其余部分是无声audio。 我目前使用AVAudioPlayer做我所有的录音。 有没有一个程序化的方式来实现这一点与一些暴力破解,我开始无声的音轨文件一起创build一个单一的文件? 简单的辉煌需要,将不胜感激。 我最好的。

AVAudioPlayer持续时间改变

我的应用程序使用AVAudioPlayer播放音乐文件。 它还有一个UISlider来调整正在播放的歌曲的位置。 但是,UISlider有一个奇怪的错误,那就是它正在改变audioPlayer的持续时间。 当一首歌曲开始时,作为过程的一部分,值设置如下: audioPlayer.currentTime = 0; seekingSlider.maximumValue = [audioPlayer duration]; seekingSlider.value = audioPlayer.currentTime; 这工作没有问题。 然后我有一个NSTimer更新播放时间和seekSlider。 这似乎也没有问题。 当一个用户改变了这个查找的时候,那么这个seekingChanged函数就会变成下面seekingChanged 。 – (IBAction)seekingChanged:(id)sender { audioPlayer.currentTime = seekingSlider.value; [self updatePlayedTimeLabel:audioPlayer.currentTime]; } – (void)updatePlayedTimeLabel:(NSTimeInterval)time { playedTime.text = [NSString stringWithFormat:@"%d:%02d", (int)time / 60, (int)time % 60, nil]; [playedTime sizeToFit]; } 请注意,我无法写入audioPlayer.duration。 我只是从开始和各种NSLog语句中读取它来debugging发生的事情。 令我惊讶的是,它发生了变化。 下面是一首歌曲开始处的示例输出,在设置值之后: after setting, seeking slider is at […]

在iOS中播放encryption的mp3

我有一个encryption的MP3文件,我需要在iOS中播放; 由于安全原因,我无法将文件解密到磁盘,并且由于内存限制,我可能无法将其解密到内存。 有没有办法直接播放encryption文件,或将其stream式播放到播放器而不将其全部加载到内存中? 我真的对此感到茫然,我甚至不知道从哪里开始……我正在使用AVAudioPlayer播放文件,但我猜测它不够灵活,无法做到我想要的。

无法播放AVAudioPlayer中的文件

我有一个应用程序的文件文件夹上的文件,我想玩它。 if NSFileManager.defaultManager().fileExistsAtPath(pathString) { let url = NSURL(fileURLWithPath:pathString, isDirectory: false) do { let player = try AVAudioPlayer(contentsOfURL:url) player.prepareToPlay() player.play() } catch let error as NSException { print(error) } catch {} } 文件系统上有一个文件,我检查了它的存在。 同样所有在do块中的行都被执行。 没有exception也没有错误,仍然没有声音播放。 什么是可能的问题,我该如何解决?

Swift:当设备被locking时继续播放声音

我正在使用下面的代码从互联网上的URL播放声音: var audioPlayer = AVPlayer() … let audioSession = AVAudioSession.sharedInstance() audioSession.setCategory(AVAudioSessionCategoryAmbient, error: nil) let url = trackFileName let playerItem = AVPlayerItem( URL:NSURL( string:url ) ) audioPlayer = AVPlayer(playerItem:playerItem) audioPlayer.rate = 1.0; player.play() 我试图确保它在后台继续播放,这就是我使用“AVAudioSession.sharedInstance()”的原因。 当我在模拟器中通过locking屏幕来尝试它时,它会继续播放。 但是,如果我在一个设备中播放它,一旦屏幕自动自动closures,声音就会closures,或者我自己locking。 我在代码中缺less什么?