- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 SpriteKit 中(对于那些不熟悉它的人)有一种加载和卸载场景的方法,以及它们之间的过渡(视觉)。
我正在尝试在场景之间播放声音,当它们转换时...不会卡顿。
到目前为止,我尝试过的所有方法要么没有声音,要么声音断断续续,即使使用声音管理器也是如此:
import AVFoundation
import SpriteKit
open class SoundManager {
static let soundStart = SKAction.playSoundFileNamed("ActionBeep_AP1.7", waitForCompletion: true)
static var coinSound = NSURL(fileURLWithPath:Bundle.main.path(forResource: "ActionBeep_AP1.7", ofType: "wav")!)
static var audioPlayer = AVAudioPlayer()
open static func playCoinSound(){
guard let soundToPlay = try? AVAudioPlayer(contentsOf: coinSound as URL) else {
fatalError("Failed to initialize the audio player with asset: \(coinSound)")
}
soundToPlay.prepareToPlay()
self.audioPlayer = soundToPlay
self.audioPlayer.play()
}
}
有人成功地让场景转换声音运行流畅吗?我意识到在场景转换期间会发生很多事情,这可能对声音引擎没有帮助。但是认为必须有一种方法可以在场景转换期间播放清晰的声音。
是的,我尝试过使用 .caf 和 .mp3 以及 .wav 文件,它们都具有不同的“压缩”和原始状态。我认为问题在于我播放声音的方式,而不是文件类型。
最佳答案
正如crashoverride777所说,加载声音管理器时需要更改。您可以在 didMoveToView()
函数中设置一个线程来最小化加载时间:
DispatchQueue.global(qos: .userInitiated).async {
// Load your sound stuff
}
现在,您可以随时加载声音文件,无延迟。
关于swift - 场景转换的声音,不会口吃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724292/
我刚开始在android中进行游戏开发,并且正在开发一款 super 简单的游戏。 游戏基本上就像飘扬的小鸟。 我设法使所有工作正常进行,但是却遇到了很多困难和滞后。 我用于测试的手机是LG G2,因
我有自己的 TrackRenderer 实现,用于我集成的 mp3 解码器。当 Lollipop 设备进入待机状态并返回时,它并不总是可重复的,但音频开始断断续续,直到我强制停止应用程序。 一开始,我
学习使用自动布局计算动态表格 View 单元格高度的有效方法。遇到滚动表格 View 时的问题,它开始有点卡顿,这很烦人。有时向上滚动时会卡顿很多,但这可能与我的演示核心数据代码有关。 This视频演
我有一些基于用户滚动的功能,它们会沿着页面上下移动元素(模仿滚动效果)。 为了让它更平滑一些,我正在使用 transition: transform 0.7s cubic-bezier(0.49, 0
我是一名优秀的程序员,十分优秀!