首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

播发音频声音文件

2012-06-29 
播放音频声音文件iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式

播放音频声音文件

iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式也非常的多,我们可以把它看成一个高级的音乐播放器,它支持的播放格式有

■ AAC
■ AMR(AdaptiveMulti-Rate, aformatforspeech)
■ ALAC(AppleLossless)
■ iLBC(internetLowBitrateCodec, anotherformatforspeech)
■ IMA4(IMA/ADPCM)
■ linearPCM(uncompressed)
■ μ-lawanda-law
■ MP3(MPEG-1audiolayer3

今天主要介绍一下播放mp3 .?

播发音频声音文件


?????? AVAudioPlayer 是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入AVFoundation.framework 如图所示点击"+"号将AVFoundation导入。



播发音频声音文件
???????

?将音频文件放入资源文件夹中

播发音频声音文件


下面我开始介绍代码中如何调用AVAudioPlayer 播放音频文件

??声明类#import "playSoundViewController.h"
#import <UIKit/UIKit.h>#import <AVFoundation/AVFoundation.h>@interface playSoundViewController : UIViewController {        IBOutlet UIButton * playSound;//播放音乐      IBOutlet UIButton * playPause;//播放暂停      IBOutlet UIButton * playStop;//播放停止      //定义一个声音的播放器    AVAudioPlayer *player;}-(IBAction)playSoundPressed:(id)pressed;-(IBAction)playPausePressed:(id)pressed;-(IBAction)playStopPressed:(id)pressed;@end
?

@implementation playSoundViewController- (void)dealloc{    [super dealloc];    //程序的严谨性 在显示对象关闭后把相应的对象清空    //时刻谨记    [playSound release];    [player release];}- (void)didReceiveMemoryWarning{    // Releases the view if it doesn't have a superview.    [super didReceiveMemoryWarning];        // Release any cached data, images, etc that aren't in use.}#pragma mark - View lifecycle// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.- (void)viewDidLoad{    [super viewDidLoad];    //在这里实现声音的播放代码    //找到mp3在资源库中的路径 文件名称为sound 类型为mp3    NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];    //在这里判断以下是否能找到这个音乐文件    if (path) {        //从path路径中 加载播放器        player = [[AVAudioPlayer alloc]initWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:path]error:nil];        //初始化播放器        [player prepareToPlay];                //设置播放循环次数,如果numberOfLoops为负数 音频文件就会一直循环播放下去        player.numberOfLoops = -1;                //设置音频音量 volume的取值范围在 0.0为最小 0.1为最大 可以根据自己的情况而设置        player.volume = 0.5f;                NSLog(@"播放加载");    }    }-(void)playSoundPressed:(id)pressed{    //点击按钮后开始播放音乐    //当player有值的情况下并且没有在播放中 开始播放音乐    if (player)     {        if (![player isPlaying])         {            [player play];            NSLog(@"播放开始");        }    }}-(void)playPausePressed:(id)pressed{    //暂停播放声音    if (player) {        if ([player isPlaying]) {            [player pause];            NSLog(@"播放暂停");        }    }}-(void)playStopPressed:(id)pressed{    //停止播放声音    if (player) {        if ([player isPlaying]) {            [player stop];            NSLog(@"播放停止");        }    }}- (void)viewDidUnload{    [super viewDidUnload];    // Release any retained subviews of the main view.    // e.g. self.myOutlet = nil;}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{    // Return YES for supported orientations    return (interfaceOrientation == UIInterfaceOrientationPortrait);}@end
?

热点排行