aVFoundationフレームワークに問題があります。 iOS 6で、オーディオの録音、再生、デシベルの計算を行うデモアプリを作成しました。どちらも、iOSシミュレーターに組み込まれたxcode4.6.3とiOS6.1.3を搭載したiPhoneで動作しました。
これで、xcodeをバージョン5に更新し、appaを再度テストしました。組み込みのシミュレーターを使用すると、動作します(iOS6.1およびiOS7シミュレーターの両方で)。しかし、iOS 7.0でアプリをiPhoneにデプロイすると、機能しなくなります。
AVAudioRecorder
とAVAudioPlayer
を使用しています。
何が問題なのかわかりません。助言がありますか?ありがとうございました!
同じ問題が発生していました... AppleはAVAudioSession
を使用する前にAVAudioRecorder
を使用する必要があるようです。この要件の変更に関するドキュメントを見つけてください。ただし、私のアプリの記録部分は現在機能しています。
audioSession
を作成し、カテゴリを設定して、アクティブに設定するだけでした。 prepareToRecord
を呼び出す前にこれを行い、prepareToRecord...
を呼び出した後に両方の方法で試しました。
これで問題が解決することを願っています!
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
[audioSession setActive:YES error:nil];
同じ問題。
AVAudioSessionを使用して修正しました。さらに、AVAudioSession
のカテゴリを適切に設定します。
使用を記録する場合:
[self.audioSession setCategory:AVAudioSessionCategoryRecord error:nil];
使用をプレイするとき:
[self.audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
再生時にカテゴリを切り替えないと、登録音量が非常に小さくなります。
幸運を!
私もこの問題に直面しているので、最初に[設定]-> [プライバシー]-> [マイク]に移動して、アプリにマイクの使用許可があることを確認する必要がありました。その後、成功しました。
マイクにアクセスできない可能性があります。このコードを使用します:
if ([audioSession respondsToSelector:@selector(requestRecordPermission:)]) {
[audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
if (granted) {
// Microphone enabled code
}
else {
// Microphone disabled code
}
}];
}