4

GLES アプリ (Unity3d) でマイク パワー メーター モジュールを作成しようとしています。UIKit アプリケーションでは問題なく動作します。しかし、unity3d プロジェクトに統合すると、AudioQueue はプロパティを開始できません。AudioQueueStart を呼び出す結果コードは常に -50 ですが、-50 とはどういう意味ですか? iOS Developer Library でリファレンスが見つかりません。

この問題について調べたところ、cocos2d アプリケーションで同じ問題を抱えている人がいることを知っています。たぶん、これにはいくつかの関連性があります。

Start Audio Queue のコードは次のとおりです。

UInt32 ioDataSize = sizeof(sampleRate);
AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareSampleRate, &ioDataSize, &sampleRate); //returns noErr
format.mSampleRate = sampleRate;
format.mFormatID = kAudioFormatLinearPCM;
format.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;
format.mFramesPerPacket = format.mChannelsPerFrame = 1;
format.mBitsPerChannel = 16;
format.mBytesPerPacket = format.mBytesPerFrame = 2;

AudioQueueNewInput(&format, listeningCallback, self, NULL, NULL, 0, &queue); //returns noErr

AudioQueueBufferRef buffers[3];
for (NSInteger i = 0; i < 3; ++i) { 
    AudioQueueAllocateBuffer(queue, 735, &buffers[i]); //returns noErr
    AudioQueueEnqueueBuffer(queue, buffers[i], 0, NULL); //returns noErr
}

levels = (AudioQueueLevelMeterState *)calloc(sizeof(AudioQueueLevelMeterState), format.mChannelsPerFrame);
UInt32 trueValue = true;
AudioQueueSetProperty(queue, kAudioQueueProperty_EnableLevelMetering, &trueValue, sizeof(UInt32)); //returns noErr

AudioQueueStart(queue, NULL); //returns -50
4

2 に答える 2

2

以下は私のために働きます:

これを追加:

AVAudioSession * session = [AVAudioSession sharedInstance];

    if (!session) printf("ERROR INITIALIZING AUDIO SESSION! \n");
    else{


        [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&nsError];

        if (nsError) printf("couldn't set audio category!");



        [session setActive:YES error:&nsError];
        if (nsError) printf("AudioSession setActive = YES failed");
    }

AudioQueueStart(myQueue, NULL);

于 2016-03-01T07:41:40.010 に答える
0

AudioSession が AVAudioSessionCategoryRecord または AVAudioSessionCategoryPlayAndRecord モードであることを確認しましたか?

http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategories/AudioSessionCategories.html#//apple_ref/doc/uid/TP40007875-CH4-SW1

于 2012-10-22T13:27:05.577 に答える