实例解析iOSapp开发中音频文件播放工具类的封装探究.doc

实例解析iOSapp开发中音频文件播放工具类的封装探究.doc

实例解析iOS app开发中音频文件播放工具类的封装 这篇文章主要介绍了iOS app开发中音频文件播放工具类的封装,代码基于传统的Objective-C,需要的朋友可以参考下 一、简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法   加载音乐文件 复制代码 代码如下: - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError; - (id)initWithData:(NSData *)data error:(NSError **)outError;   准备播放(缓冲,提高播放的流畅性) - (BOOL)prepareToPlay;   播放(异步播放)- (BOOL)play; 暂停 - (void)pause; 停止- (void)stop; 是否正在播放 复制代码 代码如下:   @property(readonly, getter=isPlaying) BOOL playing; 时长     复制代码 代码如下:   @property(readonly) NSTimeInterval duration; 当前的播放位 复制代码 代码如下:   @property NSTimeInterval currentTime; 播放次数(-1代表无限循环播放,其他代表播放numberOfLoops+1次 @property NSInteger numberOfLoops; 音量    复制代码 代码如下:    @property float volume; 是否允许更改速率 复制代码 代码如下: @property BOOL enableRate; 播放速率(1是正常速率,0.5是一般速率,2是双倍速率) 复制代码 代码如下:   @property float rate; 有多少个声道 复制代码 代码如下:  @property(readonly) NSUInteger numberOfChannels; 2.播放多个音乐文件 说明:如果要播放多个音乐文件,那么最傻瓜的做法是,创建多个全局的播放器去播放对应的音乐文件,但是这种方法无法适用于需要播放的文件数量巨大的情况。   另外一种做法是:自己封装一个播放音乐文件的工具类。 封装工具类的实现步骤:   新建一个类,继承自NSObject类。提供三个对外的接口: 分别是: 播放音乐(参数:文件名,返回值:BOOL) 暂停音乐(参数:文件名) 停止音乐(参数:文件名) 该工具类中的代码设计如下: YYAudioTool.h文件 复制代码 代码如下: // // YYAudioTool.h // 17-多个音乐文件的播放 // // Created by apple on 14-8-9. // Copyright (c) 2014年 yangyong. All rights reserved. // #import Foundation/Foundation.h #import AVFoundation/AVFoundation.h @interface YYAudioTool : NSObject /** *播放音乐文件 */ +(BOOL)playMusic:(NSString *)filename; /** *暂停播放 */ +(void)pauseMusic:(NSString *)filename; /** *播放音乐文件 */ +(void)stopMusic:(NSString *)filename; @end YYAudioTool.m文件 复制代码 代码如下: // // YYAudioTool.m // 17-多个音乐文件的播放 // // Created by apple on 14-8-9. // Copyright (c) 2014年 yangyong. All rights reserved. // #import YYAudioTool.h @implementation YYAudioTool /** *存放所有的音乐播放器 */ static NSMutableDictionary *_musices; +(NSMutableDictionary *)musices { if (_musices==nil) {

文档评论(0)

1亿VIP精品文档

相关文档