私は複数のView Controllerを持つアプリケーションを持っています。これらのViewControllerのビューの一部はUIView
です。その他はSKView
です。私は、ユーザーがゲームに参加してから2つ目のオーディオ再生を開始し、VCから別のセッションに連続しているときでも、中断することなく同じトラックを再生し続けたいと考えています。これは可能ですか?さまざまなUIKit&SpriteKitシーンで連続したオーディオを再生する
1
A
答えて
2
オーディオ再生にはAVPlayerインスタンスを使用できます。オーディオトラックをループして連続的に再生するには、「AVPlayerItemDidPlayToEndTime」通知を確認し、プレーヤーを再起動する必要があります。
複数のビューコントローラーでトラックを再生する場合は、AVPlayerインスタンスを保持し、再生を制御するクラスを作成することをお勧めします。次に、アプリケーションのすべてにアクセスできるように、クラスの静的インスタンスを作成します。
import AVKit
class AudioManager {
static var sharedInstance = AudioManager()
private var player: AVPlayer?
func play() {
// TODO: Initialize AVPlayer with desired audio track & start playing
// player = AVPlayer(...)
player?.play()
// Register for the did play to end time notification to loop audio
if let item = player?.currentItem {
NotificationCenter.default.addObserver(self, selector: #selector(onPlaybackFinished), name: .AVPlayerItemDidPlayToEndTime, object: item)
}
}
@objc private func onPlaybackFinished() {
player?.seek(to: kCMTimeZero)
player?.play()
}
}
// to start playback from anywhere in your app
AudioManager.sharedInstance.play()
AVPlayerのドキュメント:https://developer.apple.com/documentation/avfoundation/avplayer
関連する問題
- 1. 連続したデータストリーム(iOS)からオーディオを再生する
- 2. オーディオはすべてのページで連続して再生されますか?
- 3. WebオーディオAPIがサウンドを再生しない連続して
- 4. Webオーディオ:オーディオ2連続再生の場合は、最初の値が適用されます。
- 5. Spritekitは、提示されたシーンを表示しません。
- 6. レンダリングされたオーディオがslow-moで再生されます
- 7. スウィフトは、オーディオ再生リストをバックグラウンドで再生します。
- 8. Unity-Musicはさまざまな場面で継続し、すべてのシーンをオフ/オンにします。
- 9. NAudio - 奇妙なオーディオ再生をターミナルサーバー経由で接続する
- 10. タイマーは、1回ではなく連続してシーンをロードし続けます。
- 11. オーディオまたはビデオファイルをダウンロードした直後に再生する
- 12. シミュレータでオーディオが再生されない
- 13. 「継続的インテグレーション」に関連するさまざまな「タスク」は何ですか?
- 14. 連続再生リスト
- 15. Cuda:連続したさまざまなサイズのデータを格納するためにグローバルメモリを使用する
- 16. AVAudioPlayerを使用してさまざまなサウンドを再生する
- 17. JQueryで連続した曲を再生するには?
- 18. エディタで再生するとシーンが暗くなります
- 19. Flexコンパイラはまったく同じソースコードの連続したコンパイルでさまざまなファイルサイズを生成するのはなぜですか?
- 20. さまざまな速度でサウンドを再生する方法は?
- 21. アンドロイドでさまざまな周波数のサウンドを再生する方法は?
- 22. Xuggleはオーディオと生成されたオーディオを結合します
- 23. iPadで再生していないオーディオ
- 24. SpriteKitがUIKitに組み込まれます
- 25. SDL_Mixerオーディオが再生されない
- 26. JavaでAACエンコードされたオーディオを再生する(JAADデコーダ)
- 27. VuforiaでUnity3D用にレンダリングされたオーディオを再生する
- 28. 外部でBlackBerryに録音されたオーディオを再生する
- 29. Tomcat:オーディオを再生する
- 30. アプリがアクティブになった後でSpriteKitシーンを一時停止したままにする
あなたは私がそれをしないだろうということを除いてAppDelegateを通じてオーディオを実行することができます。 SpriteKitでゲームを開発するときには、1つのビューコントローラに固執する必要があります。 –
@El Tomatoは、アプリに完全に依存していますが、主にUIKitベースのものをいくつか設計しましたが、ミニゲーム用の小さなウィンドウがあります。今私が扱っているこれらの企業向けアプリケーションは、実際にあなたとリンクすることはできません。 – Knight0fDragon