版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.12.29 |
前言
ios系統(tǒng)中有很多方式可以播放音頻文件凫岖,這里我們就詳細(xì)的說明下播放音樂文件的原理和實例。感興趣的可以看我寫的上面幾篇蛛株。
1. 幾種播放音頻文件的方式(一) —— 播放本地音樂
2. 幾種播放音頻文件的方式(二) —— 音效播放
3. 幾種播放音頻文件的方式(三) —— 網(wǎng)絡(luò)音樂播放
4. 幾種播放音頻文件的方式(四) —— 音頻隊列服務(wù)(Audio Queue Services)(一)
5. 幾種播放音頻文件的方式(五) —— 音頻隊列服務(wù)(Audio Queue Services)簡介(二)
6. 幾種播放音頻文件的方式(六) —— 音頻隊列服務(wù)(Audio Queue Services)之關(guān)于音頻隊列(三)
7. 幾種播放音頻文件的方式(七) —— 音頻隊列服務(wù)(Audio Queue Services)之錄制音頻(四)
8. 幾種播放音頻文件的方式(八) —— 音頻隊列服務(wù)(Audio Queue Services)之播放音頻(五)
9. 幾種播放音頻文件的方式(九) —— Media Player框架之基本概覽(一)
功能需求
利用Media Player
框架播放音頻文件。
功能實現(xiàn)
這里首先要說明的是征唬,Media Player
框架很多類和方法都是在ios9.0就已經(jīng)廢棄了,比如MPMoviePlayerViewController
類就是這樣的茁彭,但是這里仍然作為播放音頻文件的一種方式給大家列出來了总寒,大家看看就好。
下面大家看一下代碼理肺。
#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>
@interface ViewController () <AVAudioSessionDelegate>
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
//這兩句不可缺少
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
//資源路徑
NSString *pathStr = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:pathStr];
//實例化播放器控制器
MPMoviePlayerViewController* moviePlayerController =[[MPMoviePlayerViewController alloc] initWithContentURL: url];
moviePlayerController.view.frame = self.view.frame;
[self.view addSubview:moviePlayerController.view];
moviePlayerController.moviePlayer.scalingMode = MPMovieScalingModeFill;
moviePlayerController.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
[moviePlayerController.moviePlayer setFullscreen:YES];
moviePlayerController.moviePlayer.movieSourceType = MPMovieSourceTypeUnknown;
[self presentMoviePlayerViewControllerAnimated:moviePlayerController];
//或者[self.navigationController pushViewController:moviePlayerController animated:YES];偿乖,我這里沒有集成導(dǎo)航VC,所以就用present
[moviePlayerController.moviePlayer play];
}
@end
功能效果
下面我們就看一下功能效果哲嘲。
從上面我們可以看到贪薪,這個界面完全是系統(tǒng)自動生成的,里面包括下一首眠副、上一首画切、暫停、播放囱怕、時間標(biāo)注等等霍弹,這些皮膚元素都是系統(tǒng)自動加上的。這就不用自己自定義頁面和皮膚了娃弓,但是缺點(diǎn)就是定制性不夠典格,很多播放器都是需要自己定制皮膚的。
后記
未完台丛,待續(xù)~~~