音声が聞こえない問題について
リアルタイム音声を使用した場合、2台のマシンでルームに参加した後、音声が聞こえません。
次の手順に従ってトラブルシューティングを行ってください:
1. ルームに正常に参加している状態で、音声が聞こえない問題が発生したことを確認します。
2. 2台のマシンを使用して同じルームに参加しているかを確認します。
3. 2つのクライアントで同じOpenIdを使用してルームに参加しているかを確認します。
4. マイクがオンになっているか、マイクに権限を付与しているか、メインスレッドでマイクをオンにする処理を呼び出しているかを確認します。
5. 相手がブラックリスクに追加されているかを確認します。
iPhoneを使用し正常にルームに参加した場合、他の参加者の声が聞こえません。どうすればいいですか?
iPhoneの側面にあるサイレントスイッチがオンになっているかを確認します。
ルームに入った後、携帯電話の音量が小さくなって、マイクをオンにしたら音量が大きくなりました。どうすればいいですか?
携帯電話の音量にはメディア音量と通話音量の2種類があります。メディア音量が小さい場合、通話音量が大きくても、ルームに入った後マイクをオンにしないと、デフォルトではメディア音量になります。そのため、ルームに入った後も、音声を小さく聞こえます。メディア音量が適切であるかを確認してください。また、マイクをオンにした後、音声が小さくなったら、携帯電話の通話音量を調整してください。
Androidの携帯電話にエクスポートして使用する時、マイクをオンにして権限が要求されません。どうすればいいですか?
権限要求はシステム側の処理です。次の手順に従ってトラブルシューティングを行ってください。
1.AndroidManifest の中でマイクの権限が宣言されていることを確認します。
2.ソースコードで、マイクのアクセス許可を要求する処理を実装できます。
オーディオ関連の質問
距離を開けていない2台のデバイスでともにマイクがオンにした場合、キィーンと耳をつんざくような音が発生しました。
これはハウンリングと言います。距離を開けていないプレイヤー達がマイクでコミュニケーションする確率が低いという考えを踏まえ、音声が届くように、デフォルトでサウンドエンハンスメントを実行します。携帯電話を使用し、近くにある電話に電話をかけるときも、ハウンリングが発生します。
この問題は開発段階ではよく発生しますが、実際の運用ではフェースツーフェースの人達がマイクでコミュニケーションすることがないため、滅多に発生しません。
iPhoneのサイレントスイッチをオンにしても、ルーム中の音声が聞こえます。これはなぜですか?
サイレントスイッチが機能するかはAVAudioSessionにも関係します。XCodeの中で設定してください。
Androidの携帯電話でマイクをオンしましたが、音はスピーカーではなく受話器から出てきますが、どうすればいいですか?
権限に<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
権限を追加してください。
SDKを使用した場合、どのように設定すれば、デフォルトで受話器ではなくスピーカーがオンになりますか?
システムのデフォルト設定として、スピーカーで再生します。
SDKは、受話器による音声再生をサポートしますか?
サポートしません。
同じルームの中で、2人のメンバーだけが話すことができ、他のメンバーは聞くことしかできません。どうすればこれを実現できますか?
開発者がクライアントでサポートし、他の参加者がマイクを無効にすればよいです。
ユーザ側にマイクがなければ、どのようにユーザに伝えますか?
GetMicListCountでマイクデバイスの数を取得できます。このインターフェースを呼び出して判断してください。
ルームに参加する前に、マイクの音量を調節することができますか?
できません。ルームにいるときのみ、リアルタイム音声関連のインターフェース(ITMGAudioCtrl、ITMGAudioEffectCtrlなど)を呼び出すことができます。
マイクの権限はどうなりますか?
EnterRoom関数は正常に呼び出されると、マイクを占有するようになります。その間、その他のプログラムはマイクのデータを採取することができません。
EnableMic (false)を呼び出しても、マイクの占有を解除できません。
マイクの占有を解除するには、PauseAudioを呼び出してください。PauseAudioを呼び出した後、エンジン全体が一時停止になります。ResumeAudioを呼び出すと復元します。
EnableMic関数を呼び出す前に、マイクの状態を確認するためのインターフェースはありますか?
getMicCountインターフェースを呼び出して、マイクが使用可能かを確認できます。
GMEの、リアルタイム音量を取得する方法は何ですか?マイクの音量を報告する頻度は?
GetMicLevelインターフェースは20msごとに音量を1回取得します。そのため、最も頻繁な場合、 開発者は20msごとに1回音量を取得します。
開発者は背景音楽が再生されているかをどのように判断しますか?
インターフェースIsAccompanyPlayEnd()を利用します。
ルームに入った後、マイクをオンにして伴奏を再生しました。しかし、マイクをオフにすると、伴奏を再生できなくなります。どうすればいいですか?
ルームに入った後EnableAudioCaptureDeviceを呼び出します。その後、伴奏を再生します。EnableAudioSendを呼び出して上り/下りを制御すれば、伴奏は停止しません。詳しくは、リアルタイム音声の伴奏実行プロセス図をご参照ください。 音声が途切れ途切れする主な原因は何ですか?
1.音楽再生遅延:キャスターが外部デバイスを使用して音楽を再生し、別の携帯電話で音声を拾い配信します(この場合、必ず遅延が発生するため、キャスターがイヤフォンを付けることをお勧めします)。
ネットワーク遅延:上りのパケットロス率が高い場合や上りの遅延にばらつきが大きい場合は、視聴者は途切れた音声を聞こえます。
お客様は音声が遅延しているか、途切れているかを判断してください。
3D効果音を実現させるには、マイクとスピーカーに対して何か要件がありますか?
再生側でデュアルチャンネルをサポートしてください。
この記事はお役に立ちましたか?