AVQueuePlayer没有播放声音

时间:2012-05-16 17:15:02

标签: iphone ios ipad audio avqueueplayer

我似乎无法使用AVQueuePlayer播放声音。应用程序编译并运行正常,但是当调用`imageTouched'方法时,我没有得到任何音频。有人可以帮忙吗?

-(void) imageTouched
{
    NSString * path1 = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"wav"];
    NSString * path2 = [[NSBundle mainBundle] pathForResource:@"sound2" ofType:@"wav"];
    NSURL *url1 = [NSURL fileURLWithPath:path1];
    NSURL *url2 = [NSURL fileURLWithPath:path2];

    AVPlayerItem *firstSound = [AVPlayerItem playerItemWithURL:url1];
    AVPlayerItem *secondSound = [AVPlayerItem playerItemWithURL:url2];

    NSArray *sounds = [NSArray arrayWithObjects:firstSound, secondSound, nil];
    AVQueuePlayer *player = [AVQueuePlayer queuePlayerWithItems:sounds];

    [player play];
    NSLog(@"%d",player.status);

}

编辑1:我已经检查过文件名(案例,拼写等)是否有任何问题,而且似乎没有。我已经能够使用以下代码播放声音,但我真的需要让AVQueuePlayer正常工作。请帮忙!

NSString *path;
SystemSoundID soundId;
path = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID( (CFURLRef)objc_unretainedPointer( url), &soundId);
AudioServicesPlaySystemSound(soundId);

2 个答案:

答案 0 :(得分:0)

我意识到现在对你来说可能为时已晚,但我怀疑原因是AVQueuePlayer正在自动释放,因此没有播放声音。请改为[[AVQueuePlayer alloc] initWithItems:sounds]

答案 1 :(得分:0)

我做了几乎相同的想法,但我没有在函数中声明AVQueuePlayer *player,而是在interface中声明了它。