分享一段Objective-C可调用的游戏中播放音乐

首先需要引入AudioTool 这个framework

稍微底层一点的函数,我们对此进行简单的封装,以至于可以更加方便的使用。

static  GBMusicTrack  * track;
static  NSMutableDictionary  * trackFiles;
static  BOOL enabled_ = TRUE;
static  BOOL musicVolume_ = 1.0f ;

//把音频文件按着名字添加到字典中

+ ( void ) addMusicTrack:(NSString * )filename name:(NSString * )name {
    
if  (trackFiles  ==  nil) {
        trackFiles 
=  [[NSMutableDictionary alloc] init];
    }
    [trackFiles setObject:filename forKey:name];
}

//通过判断字典中是否为空,看有没有音频文件。

+  (BOOL)hasMusicTrack:(NSString * )name {
    id obj 
=  [trackFiles objectForKey:name];
    
if (obj == nil)  return  FALSE;
    
else
        
return  TRUE;
}

//对上文提及的方法进行封装,参数是播放的名字,和是否重复播放

+  ( void )playMusicTrack:(NSString * )name withRepeat:(BOOL)b {
#ifndef DEBUG_NO_SOUND
    
if  ( ! enabled_)  return ;
    
if  (trackFiles  ==  nil)  return ;
    
    
if (track != nil) {
        @try {
            [self stopCurrentTrack];
        }
        @catch (NSException
*  ex) {
            NSLog([ex description]);
        }
    }

// 这个函数initWithPath就是上文提及的,初始化方法。

//
    track 
=  [[GBMusicTrack alloc] initWithPath:[[NSBundle mainBundle] 
                                                pathForResource:[trackFiles objectForKey:name] 
                                                ofType:
@" mp3 " ]];
    [track setRepeat:b];
    [track setVolume:musicVolume_];

// 音乐的播放

 

  [track play];
#endif
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值