实例解析iOS app开发中音频文件播放工具类的封装

2020-01-14 19:45:20王振洲

说明:如果要播放多个音乐文件,那么最傻瓜的做法是,创建多个全局的播放器去播放对应的音乐文件,但是这种方法无法适用于需要播放的文件数量巨大的情况。

  另外一种做法是:自己封装一个播放音乐文件的工具类。
 
封装工具类的实现步骤:
  新建一个类,继承自NSObject类。提供三个对外的接口:

实例解析iOS app开发中音频文件播放工具类的封装

分别是:
播放音乐(参数:文件名,返回值: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) {
        _musices=[NSMutableDictionary dictionary];
    }
    return _musices;
}