iOS7에서 문제를 재현 할 수 없습니다. 그러나 문제는 iOS6에 존재했습니다. 내 장치에서 문제를 해결하는 작은 해킹을 만들었습니다.
EveryplayMicHack.cs (플러그인/Everyplay/스크립트 폴더에이 복사) : (플러그인/iOS의 폴더에이 복사)
using UnityEngine;
using System.Runtime.InteropServices;
public class EveryplayMicHack {
public static void EnableRecording() {
#if UNITY_IPHONE && !UNITY_EDITOR
SetPreferredSampleRate(AudioSettings.outputSampleRate);
#endif
}
#if UNITY_IPHONE && !UNITY_EDITOR
[DllImport ("__Internal")]
private static extern void SetPreferredSampleRate(int sampleRate);
#endif
}
EveryplayMicHack.h
#import <AVFoundation/AVFoundation.h>
void SetPreferredSampleRate(int sampleRate);
EveryplayMicHack.m (플러그인/iOS 폴더에 복사)
#import "EveryplayMicHack.h"
void SetPreferredSampleRate(int sampleRate) {
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setPreferredHardwareSampleRate:sampleRate error:nil];
}
마이크를 초기화하기 전에 다음을 호출하십시오. EveryplayMicHack.EnableRecording();
// Something like this
EveryplayMicHack.EnableRecording();
myMicAudioSource.clip = null;
myMicAudioSource.clip = Microphone.Start("Built-in Microphone", ...
나는 너에게도 효과가 있기를 바랍니다. :)
플레이어 설정에서 "녹음을 위해 IOS 준비"를 활성화 한 경우에도 이런 현상이 발생합니까? 비디오 편집기에 들어가기 전에 이전 마이크 인스턴스를 중지하고 편집기에서 돌아와 다시 필요할 때 새 마이크 인스턴스를 초기화해야합니다. –
빠른 답장을 보내 주셔서 감사합니다. "녹음 할 iOS 준비"가 사용됩니다. 비디오 녹화가 끝나기 전에 마이크를 멈추고 있습니다. 마이크를 다시 시작하기 전에 게임을 다시 시작할 때까지 2 초 정도 기다렸지 만 문제는 여전히 있습니다. – Dookeybre