调节SKAction的音量playSoundFileNamed:

 諾言DJ_791 发布于 2023-02-12 23:27

有没有办法调节通过SKAction playSoundFileNamed播放的声音音量:waitForCompletion : .

我想在我的游戏中实现一个简单的音乐和声音效果滑块.我可以通过AVAudioPlayer轻松控制背景音乐,但所有音效都通过SKAction播放.

2 个回答
  • 不幸的是,您无法使用SKAction修改音量,因此您也必须使用AVAudioPlayer来产生效果。您可以按照已经想到的使用runBlock实现自定义playSoundFileNamed:waitForCompletion:volume:,因此与使用playSoundFileNamed:waitForCompletion:相比,您的代码不会有太大不同。

    2023-02-12 23:37 回答
  • 这是我如何处理这个问题的代码

    NSError *error;
    NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"pew-pew-lei" withExtension:@"caf"];
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
    [player setVolume:masterVolume];
    [player prepareToPlay];
    
    SKAction*   playAction = [SKAction runBlock:^{
        [player play];
    }];
    SKAction *waitAction = [SKAction waitForDuration:player.duration+1];
    SKAction *sequence = [SKAction sequence:@[playAction, waitAction]];
    
    [self runAction:sequence];
    

    masterVolume变量只是一些预设变量,用户可以从0.0-1.0更改

    waitAction确保播放器在播放整个声音之前不会被删除

    希望这可以帮助!

    2023-02-12 23:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有