<< ニュートン法を使った2進多桁の整数除算(その2) | FaceBookのメモ、サンプルアプリ >>

Android着信音のループ再生

昔の着メロ屋さんだと、着信音のループ部分にかなりのこだわりがあり、
繰り返し部分がスムーズになるよう調節を行っています。
いわゆる、ループ素材というやつです。

既に様々なサイトで紹介されていますが、
Android携帯では、MP3,wav等、様々な音楽ファイルを着信音に設定できます。
しかし、自作の着信音を設定すると、1回しか再生されないため、
短い音声で着信音を作成すると、1回だけ再生した後、無音になってしまいます。

但し、Oggで作成した音声ファイルでメタタグ「ANDROID_LOOP=true」を設定した場合はループ再生が可能になります。

もちろんAudacity等でOggを作成していれば、メタタグ編集で入れられますが、
音楽編集に他のソフトを使っていたりすると、面倒です。
開発を止めていたwav2mldでも簡単に追加できそうなので、方法を考えてみました。

PCでのプログラムとしては、OggVorbis標準の http://xiph.org のものを使ったとして
libvorbis-1.x.x\lib\info.c の vorbis_comment_add_tagをCallすれば良い。

例えば、encoder_example.c であれば、

vorbis_comment_init(&vc);
vorbis_comment_add_tag(&vc,"ENCODER","encoder_example.c");
の後に、
vorbis_comment_add_tag(&vc, "ANDROID_LOOP", "true");
を入れれば、Android用ループ音声が作成できます。

作成したoggファイルは、どこかにUpLoadしてダウンロードしても良いし、
Wi-Fi が使える環境なら、Es explorerなどでPCから直接コピーすることもできます。
コピー出力場所は、
/sdcard/media/audio/ringtones
です。

wav2mld Ver.2.35 で機能追加しました。
これで、自作着信音がAndroid携帯上でループ再生できるようになります。


Tags: プログラムメモ
author : HUNDREDSOFT | - | -