iOS 多媒体(1)——音频的播放
来源:互联网 发布:王国保卫战2 mac 编辑:程序博客网 时间:2024/04/29 21:16
使用AVAudioPlayer播放 引用AVFoundation类库
MainContoller.h代码:
#import <UIKit/UIKit.h>#import <AVFoundation/AVFoundation.h>@interface MainController : UIViewController<AVAudioPlayerDelegate>{ AVAudioPlayer *audioPaly;}@property (retain, nonatomic) IBOutlet UISlider *volumeSlider;@property (retain, nonatomic) IBOutlet UILabel *timeLabel;@property (retain, nonatomic) IBOutlet UISlider *currentTimeSlider;- (IBAction)volumerAction:(id)sender;- (IBAction)currentChange:(id)sender;@property (retain, nonatomic) IBOutlet UIButton *btnPaly;- (IBAction)btnPlay:(id)sender;@end
MainContoller.h代码:
#import "MainController.h"@interface MainController ()@end@implementation MainController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; NSString *path=[[NSBundle mainBundle]pathForResource:@"感谢" ofType:@"MP3"]; NSURL *url=[NSURL fileURLWithPath:path]; audioPaly=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil]; //设置delegate audioPaly.delegate=self; //准备播放 [audioPaly prepareToPlay]; //设置音量的最大最小值 self.volumeSlider.minimumValue=0; self.volumeSlider.maximumValue=1; double allTime=audioPaly.duration;//总时长 //设置进度的最值 self.currentTimeSlider.minimumValue=0; self.currentTimeSlider.maximumValue=allTime;//总时长 if (self.currentTimeSlider.value <allTime) { [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES]; } if ([audioPaly play]) { NSLog(@"开始播放"); } if (audioPaly.playing) { [self.btnPaly setTitle:@"暂停" forState:UIControlStateNormal]; }}-(void)timerAction:(NSTimer *)timer{ double currentTime=audioPaly.currentTime; //可以设置为分钟的形式 self.timeLabel.text=[[NSString alloc]initWithFormat:@"%.2f/%.2f",currentTime,audioPaly.duration]; self.currentTimeSlider.value=audioPaly.currentTime; }- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (void)dealloc { [_volumeSlider release]; [_timeLabel release]; [_currentTimeSlider release]; [_btnPaly release]; [super dealloc];}- (IBAction)volumerAction:(id)sender { audioPaly.volume=self.volumeSlider.value; }- (IBAction)currentChange:(id)sender { audioPaly.currentTime=self.currentTimeSlider.value;}- (IBAction)btnPlay:(id)sender { if (audioPaly.playing) { [audioPaly pause]; [self.btnPaly setTitle:@"播放" forState:UIControlStateNormal]; } else { [audioPaly play]; [self.btnPaly setTitle:@"暂停" forState:UIControlStateNormal]; }}#pragma mark----AvAudioPlayDlegate/* audioPlayerDidFinishPlaying:successfully: is called when a sound has finished playing. This method is NOT called if the player is stopped due to an interruption. */- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{ NSLog(@"播放结束");}@end
.xib文件布局
- iOS 多媒体(1)——音频的播放
- Android—多媒体(音频播放)
- Android多媒体——播放音频
- Android 多媒体——音频播放录制、视频播放、相机
- iOS 多媒体(一)音频播放
- 【iOS沉思录】:iOS多媒体音频(上)-音频播放
- Android 多媒体应用——MediaPlayer音频播放
- Android 多媒体应用——SoundPool音频播放
- 【Android】多媒体编程——MediaPlayer音频播放
- 。第7周作业——JMF(Java多媒体框架)的应用之音频播放与视频播放
- 【iOS沉思录】:iOS多媒体音频(下)-录音及其播放
- IOS开发:多媒体-音频的操作(一) 短声音的播放
- IOS实现多媒体音频之音乐播放器
- 多媒体之播放音频(二)——SoundPool(播放简短提示音)
- Android多媒体——音乐播放器(播放内存音频)
- iOS 多媒体编程(一)——音频(AudioServices、AVAudioPlayer)
- AVAudioPlayer音频播放器—IOS开发
- 音频播放器—IOS开发
- 探讨棋牌类游戏AI算法
- 中介者模式lua实现
- poj3750 小孩报数问题
- MFC单文档中修改窗口标题和标题栏图标
- addFrameScript
- iOS 多媒体(1)——音频的播放
- AI算法代码网址
- C语言之文件操作
- 将博客搬至CSDN
- 南阳理工OJ_ASCII码排序
- HDU 1010 Tempter of the Bone (DFS)
- Linux鸟哥私房菜学习笔记_第七章Linux档案与目录管理
- 缓存基础
- 上海买房地点选择