unity 调用objective-c 播放音乐
作者:
UnityAsk | 来源:发表于
2016-09-24 11:21 被阅读82次 //
// PTMusicPlayer.m
// Unity-iPhone
//
// Created by van on 16/9/24.
//
//
#import <AVFoundation/AVFoundation.h>
@interface PTMusicPlayer : NSObject<AVAudioPlayerDelegate>{
AVAudioPlayer* _audioPlayer;
}
- (void)PlayCustomMusic;
- (AVAudioPlayer *)audioPlayer;
@end
@implementation PTMusicPlayer
PTMusicPlayer *ptplayer;
extern "C"{
void PlayMusic(){
if(!ptplayer){
ptplayer = [[PTMusicPlayer alloc] init];
[ptplayer audioPlayer];
}
[ptplayer PlayCustomMusic];
}
}
-(void)PlayCustomMusic{
[self play];
}
-(AVAudioPlayer *)audioPlayer{
if (!_audioPlayer) {
NSString *urlStr=[[NSBundle mainBundle]pathForResource:@"1003022.mp3" ofType:nil];
NSURL *url=[NSURL fileURLWithPath:urlStr];
NSError *error=nil;
//初始化播放器,注意这里的Url参数只能时文件路径,不支持HTTP Url
_audioPlayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
//设置播放器属性
_audioPlayer.numberOfLoops=-1;//设置为0不循环
_audioPlayer.delegate=self;
[_audioPlayer prepareToPlay];//加载音频文件到缓存
if(error){
NSLog(@"初始化播放器过程发生错误,错误信息:%@",error.localizedDescription);
return nil;
}
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
}
return _audioPlayer;
}
-(void)play{
if (![_audioPlayer isPlaying]) {
[self.audioPlayer play];
}
}
@end
本文标题:unity 调用objective-c 播放音乐
本文链接:https://www.haomeiwen.com/subject/lmjxyttx.html
网友评论