Python: Nokia E7 audio モジュール(ボリューム値指定)の検討
2016-10-27(木)晴れ、のち曇り
昨日の記事の、Nokia E7におけるaudio モジュール(ボリューム値指定)の問題は、当面はE7にいれたスクリプトを修正して逃げています。しかし、忘れないうちに根本対策をしておくのが良いかなと思います。忘れた頃に、うっかりとスクリプトを入れ換えて、動かないと悩む原因になります。
問題点と対策案(なるべくすっきりとした案)を検討しました。
問題点:
audio モジュールのボリューム指定の最大値が大幅に異なる機種がある。
・今までの機種は概ね 0~10の値、 0が無音、10が最大音量
・E7は0~10000、 0が無音、10000が最大音量
・他に数字が異なる機種が有るかどうかは不明(上限が15とか20とか)
上記の場合、E7では今までの最大音量指定の10を設定しても、全く音が出ないレベルになってしまいます。
機種判定(出来るかどうか不明だが)とか、範囲指定のオプションを設けて設定するのは、いちいち機種の違いを考えないといけないので面倒です。
で、考えた対策は
・ボリューム指定値(人間が意識する指定値)は今まで通り 0~10 を使う。
・スクリプト内で実際に音量をセットするときは、最大音量値を調べて、実際に
セットする値を計算して使用する(指定値の10が最大音量値に相当する
ものとして計算する)。
と言うことにしました。これですと、今までのオプション指定ファイルや、操作上の数値は同じにすることが出来ます。
その機種の最大音量値は、audioモジュールの max_volume で調べることが出来ます。
実際にPythonが携帯電話にセットすべきボリューム指定値は
max_volume で調べた最大音量値 * (ボリューム指定値 / 10.0)
で計算してセットすることにします。
これで、今までの処理やオプション指定ファイルの変更を少なくすることが出来そうです。
今更な機種のスクリプトですが、自分で使っていることと、頭の体操のために保守を続けています。後は、実際にスクリプトを変更しないといけないですね。
| 固定リンク
「Python」カテゴリの記事
- Python: SMS送信スクリプト jSendSMS を作成した(2018.04.21)
- Python 電話帳アプリ jContactsM を更新した jContactsM_202(0)(2018.04.19)
- Python 一部の機種で動かないスクリプトのテストをした(2018.04.15)
- Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V1_12(0)(2018.04.13)
- Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V1_11(0)(2018.03.27)
「アプリケーション」カテゴリの記事
- Python: SMS送信スクリプト jSendSMS を作成した(2018.04.21)
- Python 電話帳アプリ jContactsM を更新した jContactsM_202(0)(2018.04.19)
- Python 一部の機種で動かないスクリプトのテストをした(2018.04.15)
- Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V1_12(0)(2018.04.13)
- Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V1_11(0)(2018.03.27)
「携帯電話」カテゴリの記事
- Python: SMS送信スクリプト jSendSMS を作成した(2018.04.21)
- Python 電話帳アプリ jContactsM を更新した jContactsM_202(0)(2018.04.19)
- Nokia E52 でファームウエアのupdateチェックをしてみた(2018.04.16)
- Python 一部の機種で動かないスクリプトのテストをした(2018.04.15)
- Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V1_12(0)(2018.04.13)
コメント