通話録音調整テクニック

通話録音が上手くいかない場合の設定テクニックをご説明いたします。

通話録音が上手くいかない状況が色々ありますが、お問い合わせ頂いた内容をまとめてみました。

※前提として初回インストール時に端末の戻るボタンなどで画面を消してしまい上手く行かなくった場合、初回インストるの項を読んで最初からアプリの指示通りにインストールすると正常に動作するはずです。

それでも下記現象になる場合は、基本的にお使いの端末のOS(Android)や電話アプリに通話録音の障害になる要素のある端末とお考え下さい。

通常、通話録音がサポートされ、正しいOSが動作している端末の場合、下記の現象は発生しません。

1.発信した場合上手くいかない

発信時に録音が出来ない場合が結構あるようです。

発信と着信の動作の違いは、電話帳から登録名を取得するまでの状況に違いはありますが、録音するロジックは全く同じです。

そこで、タイミングの問題らしく、発信の録音開始秒数を遅らせると解決することが多く、発信時に録音が上手くいかない場合は発信開始秒数を7秒など少し多めに設定してみてください。

または、手動録音ボタンも試してみて下さい。

XPERIA用に用意した32番の設定にチェックをいれたら上手くいく場合もあるようです(docomo SH系)

後は、発信時に一旦発信を止めてしまうアプリが導入されていると発信時の自動録音は出来なくなります。
これは、発信を一旦フックして電話リスナーを破棄しないと実現しない機能で、電話リスナーを破棄して、フックしたアプリが代行で発信する事になるからです。
また、発信を一旦キャンセル状態にしないと、そのまま電話が発信されてしまうのでフック機能が実現できない為仕方有りません。

発信時に自動録音出来ないという場合、その類いのアプリや国際発信アシストなどの機能はオフにしておいてください。

2.通話が無音になる

これは、近接センサーで画面が消える時に発生する事が多く、この解決方法は、設定34番のスピーカフォン設定にチェックを入れてみて下さい。

3.全く録音出来ない

オーディオソースを見直してみて下さい。

設定項目には受話+送話やマイクなどとありますが、あくまでもお使いの端末のオーディオソースが正しく設定されているかによります。

通話録音だからと言って受話+送話にしたら出来るというものではありません。

マイクにしないと全く録音出来ない機種も多くありますので、言葉に左右されず、実際の挙動を確認して、自分の端末はどの設定が使えるのか確認してみてください。

受話のみ、送話のみ等の設定もありますが、これはAndroidの仕様書に記載している設定をアプリ側では出来る様にしています。

しかし、メーカーがカスタマイズしたAndroidでこの設定を正しく動作させられる機種をみたことがありません。

オーディオソースはマイクか受話+送話の2種類で確認し、GALAXY S2の様に受話のみにしたときに双方向出来ると言った事もあるようなので、そのときに試してみて下さい。

中には受話+送話に設定しただけで強制終了やフリーズしてしまう端末もります。

オーディオソースは通話録音において一番重要な設定となります。

4.再生出来ない

これは、そもそも録音に失敗している状況です。

オーディオソースを見直すと改善すると思います。

5.アプリが起動しない

これは、保存場所を間違って設定した場合に発生すると思います。

現行バージョンであれば、保存出来ない場所自体を選択出来ない様にはしていますが、手動設定などであり得ない保存場所などを設定した場合、起動すら出来なくなります。

この場合、端末の設定メニューからzSuperRecorderのデータ消去を試みて最初から設定し直す必要があります。

もしくは、設定画面を表示する専用のWidgetを用意しているので、設定画面のみ表示して保存場所を適切な場所に設定しなおすと改善出来ると思います。

 6.設定32番 電話リスナーの破棄

この設定はXPERIAシリーズ用に用意したオプションだとおもってください。

一部、発信時の自動録音が出来ないSH系の機種でも有効と言う報告もありました。

この設定をオンにすると何が起こるのかと言いますと、Androidでバックグランドでアプリを動作させる場合、サービスと言う仕組みを利用します。

電話のオフフックを検知して自動的にサービスを起動するのですが、この時、電話の状態を検知するために電話のリスナーと言う機能を利用して、リアルタイムに状況を監視することになります。

発信中なのか、着信中なのか、電話に出たのかと言う状況を把握して次の動作に備えると言う事を行っており、動作が確定したときに、処理を実行して電話が切れるまで、待機モードに移行します。

そして、通話が終了したのを検知して、電話のリアルタイム監視をリセットして次の電話に備えてシステムは終了します。

この時、システムを終了させた場合、必ず終了する最後にonDestroy()と言うイベントを通過するので、最後に電話リスナーを破棄する様に組んでいます。

しかし、XPERIAは何故か、バックグランドで起動したと同時にこの終了時に通過するはずのコードが実行されてしまいます。

そうなると、発信状態を途中で検知しなくなるために、録音開始の処理を実行することが出来なくなってしまう不具合が発生します。

仕方が無いので、32番にチェックを入れた場合、終了時に通過する場所のコードを実行しない様に組み直し、代わりに、電話を切ったときに全てをリセットする様にしました。

正常なAndroid搭載の端末であれば、チェックを入れても入れなくてもどちらでも正常に動作します。

それなら、「32番の設定そのものをやめて、常にチェックのある動作で良いじゃ無いか」と言われるかもしれませんが、ここは、意地でも仕様書通りのコードを残し、ユーザの方には申し訳ないとは思いますが、仕様書通りの動作をしなくなる機種へメーカーのエンジニア向けに嫌みとして残しています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. tamayan より:

    ここは都度気づいたら項目を追加していきます。