当我在录音机演示中的AppDelegate中编写AVAudioSession.sharedInstance()。setActive(true)时,AudioKit无法录制

时间:2018-05-10 09:17:12

标签: ios swift audiokit

func applicationDidBecomeActive(_ application: UIApplication) {
    debugPrint("applicationDidBecomeActive")
    do{
        try AVAudioSession.sharedInstance().setActive(true)
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    }catch{

    }
    UIApplication.shared.endReceivingRemoteControlEvents()//设置后台播放
}

然后它无法记录,当我删除这些代码时,它工作

1 个答案:

答案 0 :(得分:1)

您需要为会话设置正确的类别(您当前正在使用播放),并按正确的顺序执行这些操作。使用package hashprueba; public class HashPrueba { public long hash(String c) { long resultado = 3; String alfabeto = "abcdegjkmnoprstuvwyz"; for (int i = 0; i < c.length(); i++) { resultado = resultado * 73 + alfabeto.indexOf(c.charAt(i)); } return resultado; } public String hash2(long lo){ String alfabeto = "abcdegjkmnoprstuvwyz"; Long mod = lo % 73L; lo = lo / 73L; String res = alfabeto.charAt(mod.intValue()) + ""; while (lo > 3L) { mod = lo % 73L; lo = lo / 73L; res += alfabeto.charAt(mod.intValue()); } return res; } public static void main(String[] args) { HashPrueba hp = new HashPrueba(); hp.hash2(405611771492327055239928692427624877908760706915042668827730030781521901952046793); System.out.println(hp.hash("javaguay")); } } AVAudioSessionCategoryPlayAndRecord并稍后调用SetActive 。这是错误捕获的代码。

AVAudioSessionCategoryRecord