Objective-C中的音乐播放大多用AVAudioPlayer,它有很多优点:
(1)可以播放任意长度音乐;
(2)可以循环播放;
(3)可以控制播放的时间;
(4)可以控制声道的音量实现立体声效果;
(5)可以调整音量。
但是AVAudioPlayer有一个很大的缺点,那就是只能用于播放本地音频,网络资源播放之前必须先加载,不能立即播放;但系统为我们提供了另一个更为丰富的类MPMoviePlayerController和AVPlayer来播放流媒体,MPMoviePlayerController使用更简单,但功能不如AVPlayer强大。这里介绍一下AVPlayer播放在线音频,播放视频以后再介绍。直接上代码,注释会尽量写的详细一些:
新建一个类继承自NSObject:AudioPlayer
.h文件代码:
#import <Foundation/Foundation.h>
@class AudioPlayer;
@protocol AudioPlayerDelegate <NSObject>
//再播放中每秒都执行的事件
- (void)audioplayerPlayWith:(AudioPlayer *)audioplayer Progress:(float)progress;
//当一首歌曲播放完成之后执行这个事件
- (void)audioplayerDidFinishItem:(AudioPlayer *)audioplayer;
@end
@interface AudioPlayer : NSObject
@property(nonatomic,assign)id<AudioPlayerDelegate>delegate;
@property(nonatomic,assign)BOOL isPlaying;
+(AudioPlayer*)sharePlayer;
-(void)play;
-(void)pause;
-(void)seekToTime:(float)time;
-(void)setPrepareMusicUrl:(NSString*)urlStr;