//////////AVAudioPlayer////////////
#import <AVFoundation/AVFoundation.h>
#import "ViewController.h"
@interface ViewController ()
{
AVAudioPlayer *audioPlayer;
}
@property (weak, nonatomic) IBOutlet UISlider *volumeSlider;
@property (weak, nonatomic) IBOutlet UISlider *currentSlider;
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
- (IBAction)volumeSlider:(UISlider *)sender;
- (IBAction)currentSlider:(UISlider *)sender;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//找到本地音頻文件
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"天涯—張利鵬" ofType:@"mp3"];
//包裝成url,調用本地文件使用fileURLWithPath方法 遠程文件調用使用URLWithString
NSURL *url = [NSURL fileURLWithPath:filePath];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
//準備播放 也可以不寫
[audioPlayer prepareToPlay];
//遇到play就播放
// if ([audioPlayer play]) {
// NSLog(@"開始播放音樂了");
// }
//設置滑塊的區間範圍
_volumeSlider.minimumValue = 0;
_volumeSlider.maximumValue = 1;
_currentSlider.minimumValue = 0;
_currentSlider.maximumValue = audioPlayer.duration; //總時長
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
}
- (void)timerAction:(NSTimer *)timer {
if (audioPlayer.playing) {
NSString *currentTime = [NSString stringWithFormat:@"%.0f",audioPlayer.currentTime];
_timeLabel.text = currentTime;
_currentSlider.value = audioPlayer.currentTime;
}
}
- (IBAction)currentSlider:(UISlider *)sender {
//設置當前的播放進度時間
audioPlayer.currentTime = sender.value;
}
- (IBAction)volumeSlider:(UISlider *)sender {
//設置當前的播放進度時間
audioPlayer.currentTime = sender.value;
}
- (IBAction)playAction:(UIButton *)sender {
//播放器是否正在播放
BOOL playing = audioPlayer.playing;
if (playing) { //正在播放
//暫停
[audioPlayer pause];
[sender setTitle:@"播放" forState:UIControlStateNormal];
} else {
[audioPlayer play];
[sender setTitle:@"暫停" forState:UIControlStateNormal];
}
}
@end
//////////AVPlayer////////////
修改- (void)viewDidLoad代碼如下
- (void)viewDidLoad
{
[super viewDidLoad];
NSError *error;
//設置音頻會話支持後臺播放
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
//播放遠程地址
NSString *mp3Url = @"http://mp3a.9ku.com:1234/qzonemp3/chenchusheng001.mp3";
NSURL *url = [NSURL URLWithString:mp3Url];
player = [[AVPlayer alloc] initWithURL:url];
[player play];//獲取流媒體數據播放
}
運行
將
//播放遠程地址
NSString *mp3Url = @"http://music.baidutt.com/up/kwcawcca/ydsspc.mp3";
NSURL *url = [NSURL URLWithString:mp3Url];
player = [[AVPlayer alloc] initWithURL:url];
[player play];//獲取流媒體數據播放
註釋掉 在其下加入
//播放本地文件
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"第一夫人" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:filePath];
player = [[AVPlayer alloc] initWithURL:url];
[player play];
運行
//先導入AudioToolbox.framework框架
- (IBAction)playAction:(UIButton *)sender{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"44th Street Medium" ofType:@"caf"];
NSURL *url = [NSURL fileURLWithPath:filePath];
//unsigned long soundId;
SystemSoundID soundId;
//爲url地址註冊系統聲音
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &soundId);
//播放系統聲音
AudioServicesPlaySystemSound(soundId);
***********播放震動 (模擬器無法模擬震動)*************
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}