Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVP播放器不能正常工作_Ios_Objective C_Sprite Kit_Avplayer - Fatal编程技术网

Ios AVP播放器不能正常工作

Ios AVP播放器不能正常工作,ios,objective-c,sprite-kit,avplayer,Ios,Objective C,Sprite Kit,Avplayer,我试图在SpriteKit应用程序中使用objective C中的AVPlayer,但由于某些原因,尽管URL定义正确,我还是听不到音乐 (这是从gameviewcontroller运行的) 您应该创建audioPlayer的strong属性,而不是在viewDidLoad方法中创建音频播放器 @属性(非原子,强)AVAudioPlayer*BKMPlayer1 这是因为,一旦控件退出功能,ARC就会释放音频播放器。我会避免使用AVPlayer。改为使用SKAudioNode,这样您可以使音乐与

我试图在SpriteKit应用程序中使用objective C中的AVPlayer,但由于某些原因,尽管URL定义正确,我还是听不到音乐

(这是从gameviewcontroller运行的)


您应该创建audioPlayer的
strong
属性,而不是在
viewDidLoad
方法中创建音频播放器

@属性(非原子,强)AVAudioPlayer*BKMPlayer1


这是因为,一旦控件退出功能,ARC就会释放音频播放器。

我会避免使用
AVPlayer
。改为使用
SKAudioNode
,这样您可以使音乐与场景保持同步,但音乐需要从viewcontroller播放,因为它很容易传递变量来说明用户是否按下了主菜单上的静音按钮。
-(void)viewDidLoad{
    [super viewDidLoad];
    [self prefersStatusBarHidden]; //hopefully stop an annoying bug.
    NSLog(@"Is it on? %d", _playingMusic);
    if(_playingMusic == 1){ //set audio to play if requested

        NSString *soundPath1 = [[NSBundle mainBundle] pathForResource:@"new_twig_BK2_rehash" ofType:@"mp3"];
        NSURL *soundURL1 = [NSURL fileURLWithPath: soundPath1];
        AVAudioPlayer *BKMPlayer1 = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL1 error:nil];
        BKMPlayer1.numberOfLoops = -1; //infinite loops
        [BKMPlayer1 setVolume: 1.0];
        [BKMPlayer1 stop];
        [BKMPlayer1 setCurrentTime:0];
        [BKMPlayer1 play];
    }


}