2017-01-10 15 views
1

私は自分のアプリでreplaykitを使用しています。ユーザーが録画を済ませた後、ビデオを「共有」するボタンを用意しています。私はRPPreviewViewControllerを提示し、私はビデオで再生をクリックすると、私はアプリに戻ったとき、オーディオは動作しません。それは以前のviewControllerに戻って録音したものに戻った後にのみ再び機能します。RPPreviewViewControllerは再生後に音声を無効にします

私のアプリは音楽作曲アプリなので、オーディオは非常に重要です。

func showPreview() { 
    if let unwrappedPreview = self.preview { 
     unwrappedPreview.previewControllerDelegate = self 
     self.present(unwrappedPreview, animated: true, completion: nil) 
    } else { 
     let alert = UIAlertController(title: "No recordings to share", message: "By hitting the play or record button you can record a video of your composition to share with others. Once you hit stop, the recording will be saved and ready to share.", preferredStyle: .alert) 
     let okAction = UIAlertAction(title: "OK", style: .default, handler: nil) 
     alert.addAction(okAction) 
     self.present(alert, animated: true, completion: nil) 
    } 
} 

func previewControllerDidFinish(_ previewController: RPPreviewViewController) { 
    let audioSession = AVAudioSession.sharedInstance() 
    try! audioSession.setCategory(AVAudioSessionCategoryPlayback) 
    dismiss(animated: true) 
} 

答えて

1

これは任意のヘルプですが、ただ、我々は効果音のためOalPlaybackを使用する私たちとその問題を発見した場合はわからない:再生ビューはとても似退けた後、私もAVAudioSessionカテゴリをreseting試してみました。プレビューコントローラを表示する前に、Oalオブジェクトをリリースしました。プレビューを終了した後、私は新しいオブジェクトを作成します。

+0

私の解決策は似ていました。 MIDIを演奏する「シンセサイザー」オブジェクトがあり、それを取り除いて新しいものを作っています。残念ながら、何が起こっているのかを実際には説明していません。 – CodyMace

+0

かなりファンキーなコントローラです。私はブレークポイントで停止し、それが表示されている間、すべてのコントロールが動作し続けているときに私たちのアプリをクラッシュさえしました。 – Jer

+0

ハハ、うわー、それは台無しだ。 – CodyMace

0

私はObjectALを使用し、この問題も発見しました。私はこのコマンドを使用して解決することができました:

OALAudioSession.sharedInstance().forceEndInterruption() 

ReplayKitは割り込みを終了していないようです。

関連する問題