• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

[iphone-cocos2d]分享一段Objective-C可调用的游戏中播放音乐(2)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 
接上文,稍微底层一点的函数,我们对此进行简单的封装,以至于可以更加方便的使用。
 
代码
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
}

 

防盗加个链接:

   作者:Alexliu(alex dotNet Learning)
   出处:http://alexliu.cnblogs.com/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C语法之动态类型(isKindOfClass,isMemberOfClass,id)等发布时间:2022-07-12
下一篇:
谈Objective-C Block的实现发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap