Spritekit 停止声音

2023-11-24

我目前正在使用 Apple 的 SpriteKit 库开发一款游戏,但在游戏开始播放后我无法停止声音。我尝试使用文档中列出的方法来阻止 Skaction 运行,但似乎没有什么可以阻止声音播放。这些都是我试图阻止声音的尝试。

//Playing sound action:

SKAction *music = [SKAction playSoundFileNamed:@"menu.wav" waitForCompletion:YES];
    [musicNode runAction:[SKAction repeatActionForever:[SKAction sequence:@[
                                                    music,
                                                    [SKAction waitForDuration:0],
                                                    ]]] withKey:@"MUSIC_PLAYING"];

//Later when i want to stop the sound:

[musicNode removeActionForKey:@"MUSIC_PLAYING"]; //Removing the action from the node
[musicNode runAction:[SKAction waitForDuration:0] withKey:@"MUSIC_PLAYING"]; //"Overriding" with another action with the same key
[musicNode removeAllActions]; //Removing all actions from the node
[musicNode removeFromParent]; //Removing the node from the parent

musicNode 只是一个运行动作的 SkpriteNode,尽管我直接从场景中尝试了相同的方法,即:场景播放声音,然后尝试将其删除。或者,由于 waitForCompletion 设置为 YES,操作可能不会停止,但我再次尝试使用 NO 并得到相同的结果。有没有办法使用 AVaudioSession 的sharedInstante来停止声音?我也尝试过以下方法,但还是失败:

 [[AVAudioSession sharedInstance]setActive:FALSE error:nil];

谢谢你的帮助!


我在使用 SK audio 时也遇到过类似的问题。因此我又转而使用 AVFoundation。我不久前发现了这个;它可以完成我需要它做的所有事情,听起来它也可以解决您的问题!

https://github.com/nicklockwood/SoundManager

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spritekit 停止声音 的相关文章

  • 检查系统是否有声音 C#

    我们目前正在使用 XNA 开发一款游戏 但我们偶然发现了一个小声音问题 当系统没有插入声音设备 扬声器等 当 Win7 在扬声器图标上显示红十字时 它在尝试播放 加载声音时崩溃 因此 我们想检查系统是否具有输出声音的能力 在C 中可以吗 您
  • 将声音添加到标记数组 - 谷歌地图 javascript

    我是新来的 所以我知道我没有任何可信度 我是一名艺术家 对编程很陌生 所以我理解是否没有人会承担这个任务 我发布这篇文章是因为这是一个简单的问题 S 这是创建多个标记的代码 主要来自谷歌开发者网站 它工作正常并为每个标记创建一个自定义图标
  • 如何在 iOS 中使用 AVPlayer 缓冲音频?

    我想播放来自互联网的流音频 我编写了播放流的代码 但它没有任何缓冲区 因此如果信号较弱 应用程序将停止播放音频 这是我的代码 import UIKit import AVFoundation import MediaPlayer impor
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • 使用 AVFoundation 和 Swift 访问多个音频硬件输出/通道

    如何使用 AVFoundation 访问除 1 2 之外的其他音频硬件输出 我正在为 Mac OS X 应用程序编写快速代码 该应用程序通过各种输出设备 USB 接口 dante soundflower 播放 mp3 文件 如下所示 myP
  • 软件音频线路输入

    这可能是也可能不是询问的地方 如果不是 就直接扔掉它 我有一个正在输出音频的软件 我想将其路由到另一个软件 简单的解决方案是将耳机插孔连接到麦克风插孔或在计算机上启用立体声混音 但是 我想要做的进一步实现将在一台机器上发生 2 个这样的实例
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • SKShapeNode(circleOfRadius) 在 OSX 的 Playground 中导致“无法识别的选择器发送到类”

    以下操场会导致时间线错误 无法识别的选择器发送到类 import SpriteKit let node SKShapeNode circleOfRadius 10 截屏 https i stack imgur com rPK5J png 当
  • 音频html标签无法快进或快退控制

    我正在使用音频 html 标签从我的上传服务器加载音频 但我不知道为什么我的音频无法像往常一样循环 快进或快退控制 我的音频 标题 Accenpt Ranges bytes Connection Keep Alive Content Len
  • 使用 SceneKit 实现 ARKit 广告牌效果

    我希望添加与此应用程序类似的广告牌效果 https twitter com marpi status 897130955105644544 https twitter com marpi status 897130955105644544
  • 播放选定的音频,同时暂停/重置其他音频

    我有两个通过按钮的单击事件播放的音频元素 如果选择了另一个元素 我已成功地暂停其中一个元素 但还需要将暂停元素设置回 0 0 秒 即暂停和重置 我知道 Javascript 目前没有stop 导致的方法假设这将通过设置其来完成current
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • Javascript 播放声音性能重吗?

    我正在用 Javascript 制作一个简单的游戏 当一个物体与墙壁碰撞时 它会发出 砰 的声音 声音的响度取决于物体的速度 速度越高 gt 声音越大 播放功能 playSound function id vol ID of the sou
  • 使用到达时间差对信号进行三边测量

    我在寻找或实现寻找信号源的算法时遇到一些麻烦 我的工作目标是找到声音发射器的位置 为了实现这一点 我使用了三个麦克风 我正在使用的技术是多点定位这是基于到达时间差 The 到达时间差使用发现每个麦克风之间互相关接收到的信号 我已经实现了算法
  • 如何让 JavaScript 发出蜂鸣声?

    我希望我的网页在用户超出我的最大字符限制时发出蜂鸣声
  • 如何将 MP3 音频文件读入 numpy 数组/将 numpy 数组保存到 MP3?

    有没有办法从 MP3 音频文件中读取 写入 MP3 音频文件numpy具有类似 API 的数组scipy io wavfile read https docs scipy org doc scipy 0 14 0 reference gen
  • 在音频文件中查找音频样本(频谱图已存在)

    我正在努力实现以下目标 使用 Skype 拨打我的邮箱 有效 输入密码并告诉邮箱我要录制新的欢迎信息 有效 现在 我的邮箱告诉我在嘟嘟声后录制新的欢迎消息 我想等待蜂鸣声然后播放新消息 不起作用 我如何尝试实现最后一点 使用 FFT 和滑动
  • 如何用Java捕获音频数据

    我想访问我的麦克风用 Java 录制的音频数据 我该怎么做呢 我的目标是保存录制的音频数据并同时向用户播放 如果您不需要 JMF 中的任何附加功能 我会避免使用它 因为开发已经停止 最后一个版本是 2004 年 它与 Java 6 存在兼容

随机推荐

  • T-SQL - 什么是内联视图?

    我最近回答了这个问题如何按顺序调用用户定义的函数以与按顺序选择组一起使用 我的答案是使用内联视图来执行该功能 然后对其进行分组 在评论中 提问者没有理解我的回答 并要求提供一些网站 参考资料来帮助解释 我快速谷歌了一下 没有找到任何很好的资
  • 在 Swift 中使用 NumberFormatter 格式化大十进制数

    我这样做是为了格式化数字 但对于大数字来说失败 let formatter NumberFormatter formatter numberStyle decimal if let number formatter number from
  • 在 Eclipse 中使用 Gwt 2.7

    有gwt 2 7版本的eclipse插件吗 如果我从官方存储库安装 eclipse 插件 https dl google com eclipse plugin 4 4 它将 Google Web Toolkit SDK 2 6 0 列为唯一
  • 调整图像大小以适合 div

    如何调整图像大小以适合 div 的大小piecemaker container div div img src splash jpg alt some text div div piecemaker container display bl
  • 选择性同步 Google Drive 本地文件夹? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 Google Drive 中是否有一种方法可以对本地文件夹进行选择性同步 即将父文件夹同步到云 同时仅将某些选定的子文件夹保留在本地 例如 在我的本地电脑上project文件夹有3个
  • 搜索 ClearCase 来查找带有特定评论的签入

    我被要求提供大约 3 个月前签入 ClearCase 的详细信息 我知道评论中包含的 QC 编号 但迄今为止完全未能找到一种方法来搜索 ClearCase 以通过评论签入 有任何想法吗 布赖恩 阿格纽走在正确的轨道上 但需要注意的是 我确信
  • Conda:直接从 github 安装/升级

    我可以使用以下命令从 GitHub 安装 升级包吗conda 例如 与pip我可以 pip install git git github com scrappy scrappy master 安装scrappy直接从masterGitHub
  • python 中导入 timeit.timeit 变量

    我正在尝试使用timeit timeit 以便找出执行特定代码行需要多少时间 问题是这一行包含变量 我需要以某种方式导入它们 所以我的问题是如何导入 为了更清楚 代码看起来像这样 def func var1 aaa var2 aab t1
  • Android:使用 FLAG_SECURE 时更改窗口背景的颜色

    我有一个请求 当我的 Android 应用程序放入后台时 我会清空屏幕以隐藏敏感数据 使用以下方法很容易实现 getWindow addFlags WindowManager LayoutParams FLAG SECURE 困难的部分似乎
  • Python 如何比较“int”和“float”对象?

    文档关于数字类型指出 Python 完全支持混合算术 当二元算术运算符具有不同数值类型的操作数时 较窄 类型的操作数会扩展到另一个操作数 其中整数比浮点窄 浮点又比复数窄 混合类型的数字之间的比较使用相同的规则 以下行为支持这一点 gt g
  • Rails 5 - 对象关系阻抗以及如何构造多个继承的类/表

    EDIT我对原文进行了编辑 以便更容易理解 我了解对象关系阻抗问题 我了解 Rails STI 和多态性 Rails 方式 但它不是真正的 OO 多态性 我已经阅读了大量有关此问题的博客和问题 但仍然找不到这个问题的答案 class Per
  • 大O,你是如何计算/近似的?

    大多数拥有计算机科学学位的人肯定知道什么大O代表 它帮助我们衡量算法的扩展程度 但我很好奇 怎么办you计算或近似算法的复杂性 我将尽力在这里用简单的术语解释它 但请注意 这个主题需要我的学生几个月的时间才能最终掌握 您可以在第 2 章中找
  • OpenCV C++/Obj-C:正确的对象检测

    作为某种 假日项目 我正在玩 OpenCV 想要检测和测量东西 当前工作流程 早期 检测 转换为灰度 cv cvtColor 应用自适应阈值 cv adaptiveThreshold 应用 canny 边缘检测 cv Canny 查找轮廓
  • 我在 Windows 计算机上找不到 my.cnf [重复]

    这个问题在这里已经有答案了 我的电脑是Windows XP 我需要找到my cnf将所有权限恢复给 root 用户 我不小心删除了root用户的一些权限 我还留着密码 以root用户登录MySQL没有问题 但我无法更改表格 这是我的回答 W
  • Swift 中服务器的公钥字符串中的 Seckey

    我想使用 RSA 加密数据 我尝试在代码中生成密钥并且它正在工作 但我实际需要的是从服务器获取字符串形式的公钥 然后将其用作 Seckey 以便我可以使用它来加密使用 RSA 的数据 我尝试了这段代码 KeyString is the st
  • 获取主干应用程序中先前的路由器/url

    我有一个主干应用程序 我需要知道访问当前路由的路由器 是否可以 例如 I reach current from test1并且在另一个例子中 来自 test1 那么我可以通过某种方式知道检测之前的路由器命中吗 我用过 Backbone hi
  • Rails 中两个类之间的多个 own_to 关系

    我有一个事务类 该类的每个对象包括1个发出账户 1个发送账户和1个接收账户 其中每一个都是 Account 类的一个实例 在我的交易表中 我有 Issuer id sender id 和receiver id 我应该如何指定交易和帐户之间的
  • 如何判断所有Loading Data操作何时完成?

    我有一个 Sheets 电子表格 其中有许多单元格使用自定义函数 该函数调用 IMPORTHTML 并解析结果 工作表中的其他计算使用这些自定义公式单元格返回的值 正如预期的那样 当自定义公式单元格正在计算时 它们会显示 正在加载数据 错误
  • .NET 3.5 中 Enum.TryParse 的实现

    如何在 NET 3 5 中实现 NET 4 的 Enum TryParse 方法 public static bool TryParse
  • Spritekit 停止声音

    我目前正在使用 Apple 的 SpriteKit 库开发一款游戏 但在游戏开始播放后我无法停止声音 我尝试使用文档中列出的方法来阻止 Skaction 运行 但似乎没有什么可以阻止声音播放 这些都是我试图阻止声音的尝试 Playing s