unity 调用objective-c 播放音乐

           //
        //  PTMusicPlayer.m
        //  Unity-iPhone
        //
        //  Created by van on 16/9/24.
        //
        //

        #import 

        @interface PTMusicPlayer : NSObject{
            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 播放音乐)