//
// YYAudioTool.m
// 17-多个音乐文件的播放
//
// Created by apple on 14-8-9.
// Copyright (c) 2014年 yangyong. All rights reserved.
//
#import "YYAudioTool.h"
@implementation YYAudioTool
/**
*存放所有的音乐播放器
*/
static NSMutableDictionary *_musicPlayers;
+(NSMutableDictionary *)musicPlayers
{
if (_musicPlayers==nil) {
_musicPlayers=[NSMutableDictionary dictionary];
}
return _musicPlayers;
}
/**
*存放所有的音效ID
*/
static NSMutableDictionary *_soundIDs;
+(NSMutableDictionary *)soundIDs
{
if (_soundIDs==nil) {
_soundIDs=[NSMutableDictionary dictionary];
}
return _soundIDs;
}
/**
*播放音乐
*/
+(BOOL)playMusic:(NSString *)filename
{
if (!filename) return NO;//如果没有传入文件名,那么直接返回
//1.取出对应的播放器
AVAudioPlayer *player=[self musicPlayers][filename];
//2.如果播放器没有创建,那么就进行初始化
if (!player) {
//2.1音频文件的URL
NSURL *url=[[NSBundle mainBundle]URLForResource:filename withExtension:nil];
if (!url) return NO;//如果url为空,那么直接返回
//2.2创建播放器
player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
//2.3缓冲
if (![player prepareToPlay]) return NO;//如果缓冲失败,那么就直接返回
//2.4存入字典
[self musicPlayers][filename]=player;
}
//3.播放
if (![player isPlaying]) {










