1

DIYCamを使用してビデオを録画しようとしており、Bluetooth ヘッドセットのオーディオ ルートをオーディオ入力として設定していますが、ルーティングが機能していないようです。私が理解しているように、オーディオ入力を Bluetooth ヘッドセットにルーティングする必要があるだけで、DIYCam について何も変更する必要はありません。よろしいですか? これが私のコードです:

ビューが読み込まれたら、DIYCam インスタンスを作成します。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    [self.navigationController setNavigationBarHidden:YES];

    self.camera = [[DIYCam alloc] initWithFrame:self.view.bounds];
    self.camera.delegate = self;
    [self.camera setupWithOptions:nil]; // Check DIYAV.h for options
    [self.camera setCamMode:DIYAVModeVideo];
    [self.view addSubview:self.camera];
    [self.view sendSubviewToBack:self.camera];

    if( self.bluetoothInput ) {
        [self setBluetoothAudioInput];
    }
}

これは私のBluetoothルーティング機能です:

- (void)setBluetoothAudioInput
{
    // create and set up the audio session
    AVAudioSession* audioSession = [AVAudioSession sharedInstance];
    [audioSession setDelegate:self];
    [audioSession setCategory:AVAudioSessionCategoryRecord error:nil];
    [audioSession setActive:YES error:nil];

    // set up for bluetooth microphone input
    UInt32 allowBluetoothInput = 1;
    OSStatus stat = AudioSessionSetProperty (
                                             kAudioSessionProperty_OverrideCategoryEnableBluetoothInput,
                                             sizeof (allowBluetoothInput),
                                             &allowBluetoothInput
                                             );
}

そして、これらは開始と停止のための IBActions です。

- (IBAction)startRecording:(id)sender
{
    [self.camera startSession];
    [self.camera captureVideoStart];
}

- (IBAction)stopRecording:(id)sender
{
    [self.camera captureVideoStop];
    [self.camera stopSession];
}
4

2 に答える 2

0

これを試して:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
于 2015-11-02T04:29:15.473 に答える