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 停止声音 的相关文章

  • iOS:弃用 AudioSessionInitialize 和 AudioSessionSetProperty

    我对 Objective C 很陌生 正在尝试更新一些大约 3 年前的代码以与 iOS 7 一起使用 有两两个实例AudioSessionSetProperty and AudioSessionInitialize出现在代码中 1 void
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 如何使用 Spring Boot 传输音频

    我想让用户能够播放声音 我的实现在 Firefox 上运行良好 在 Safari 上 不播放声音 我验证了音频控制可以在 Safari 中与其他网站一起使用 所以 我认为我必须更改控制器中的某些内容 控制器 RequestMapping v
  • 如何在不使用 Cocos2D 的情况下将声音实现到现有应用程序中

    例如 iOS SDK下载页面上有示例代码 我正在使用计算器应用程序 iPhoneUnitTests 我想知道是否可以轻松地向已构建的应用程序上的按钮添加声音 播放短声音 例如按钮声音 实际上非常简单 这是一个简单的例子 您必须链接 Audi
  • FFT 的功率谱密度

    我有一段代码可以获取部分信号的 FFT 现在我正在尝试获取 PSD Fs 44100 cj sqrt 1 T 6 dt 1 Fs left test 1 right test 2 time 45 interval 636 w range t
  • 使用 SpriteKit 显示横幅广告

    我是 SpriteKit 的新手 刚刚发布了我的第一个游戏 现在我想在游戏中添加横幅广告 然而 我完全迷失了 大多数教程告诉您只需调用 self canDisplayBannerAds YES 在viewDidLoad方法中 我正在这样做
  • 为什么精灵套件中的坐标系会翻转?我可以全局更改它吗?

    我注意到在 Sprite Kit 中坐标系被翻转了 例如 这是一个 SKSpriteNode SKSpriteNode car SKSpriteNode spriteNodeWithImageNamed car car position C
  • SpriteKit 的相机抖动效果

    有谁知道一些开箱即用的库可能会提供相机抖动等效果SKNode 如果没有 是否有一种简单的方法可以使用动作来实现相机抖动 Thanks 我发现了一种使用 SKAction 的优雅方法 可以摇动你的节点 例如 水平摇动 void shake N
  • 使用 Swift 创建 SKSpriteNode 子类

    我正在尝试创建作为 SKSpriteNode 子类的类 并且我想向其添加其他属性和函数 但在第一步中我遇到了错误 这是我的代码 import SpriteKit class Ball SKSpriteNode init super init
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • C# 从mp4文件中提取mp3文件

    有没有简单的方法从 mp4 文件中提取 mp3 文件 我已经尝试过更改文件扩展名 但这不允许我编辑 mp3 描述 谢谢你 Use Xabe FFmpeg https xabe net product xabe ffmpeg 它是免费的 非商
  • 如何用SKAction循环播放音乐?

    我想用 SKAction 循环背景音乐 但当我切换到另一个场景时 音乐在一行后停止 有没有办法开始循环并在不同的场景中继续播放 现在代码放置在 MyScene 的 init 方法中 这是正确的位置吗 也许 didFinishLaunchin
  • 如何使用 Android 手机通话时播放声音?

    是否可以通过编程方式与电话进行交互 例如 您可以通过程序向呼叫者播放音频吗 Google 尚未公开任何允许我们向特定正在进行的调用提供数据的 API 不过 您可以控制通话 检查这篇文章 here http prasanta paul blo
  • 在 Raspberry Pi 4 上的多个输出设备上播放多个 mp3 文件

    我需要 4 8 个同时播放立体声音频音乐频道 连续播放 SD 卡上特定文件夹中的 mp3 音乐 Working 板载 3 5 音频插孔 USB声卡正常播放音乐 Problem 但一旦我尝试在树莓派上使用带有 USB 声卡的第三个音频输出 其
  • 从相机录制视频、叠加位图、添加音频、保存到设备,所有这些都在 as3/AIR mobile 中进行

    我的任务是在移动设备上录制来自摄像头的实时视频流 然后覆盖随时间变化的位图 并将音频 mp3 轨道添加到视频文件中 然后将其保存到设备上的某个位置 例如相机胶卷 我看到了一些有用的帖子 主要是这个 AS3 Flash AIR 使用网络摄像头
  • 如何在 AVAudioSession 内使用 iPhone XS 中内置的立体声(2 通道)麦克风?

    我试图从 iPhone XS 的所谓立体声后置麦克风获取两个通道 但在不同位置只能看到一个通道AVAudioSession and AVAudioSessionPortDescription与后置摄像头相关联 我尝试过使用AVAudioSe
  • 如何在 iOS 中查找蓝牙音频设备

    好的 我正在开发一个有趣的项目 该项目有一个障碍 我需要为我的 iOS 应用程序启用蓝牙音频支持 我遇到的障碍是我什至无法开始获取已连接的蓝牙音频设备的列表 即使我的 iPhone 5S 可以识别我的耳机 大约 3 4 岁的耳机 LG HB
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 从 Nodejs 提供二进制/缓冲区/base64 数据

    我在从节点提供二进制数据时遇到问题 我开发了一个名为的节点模块节点说话它执行 TTS 文本到语音 并返回 Base64 编码的音频文件 到目前为止 我这样做是为了转换base64到缓冲区 二进制文件 然后提供它 var src Base64
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen

随机推荐

  • 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