radiko(ラジオ局)のロゴ画像を表示する

moOde audioのラジオ局登録機能によってサイマルラジオの殆どがロゴ画像を表示できるようになったことでメジャーなラジオ局(radiko)が色褪せて聴こえるようになってしまいました。

2020年末Flashのサポート終了に伴っていつまでラジコスクリプトが使えるかわかりませんがbrowserからは使いたくないのでそれまでは使っていこうと思います。

moOde playerにradikoのロゴ画像を表示させることはできないのでpulseaudioコントロール(pulse.php)でロゴ画像を表示してみたいと思います。

pulseaudioコントロール

web browserからpulseaudioをコントロールするためにはmoOde audioのwww-dataにホームディレクトリ、各権限を設定cssを導入する必要があります。(過去記事参照)

moOde audioはMPDモードで起動します。
moOdeボタンでPlay Listに登録があれば再生を開始
Play Listが空の場合はpulse.phpのdefault play listをaddして再生
以降はmpc pause mpc playのトグル
MPD再生中はこのロゴ画像

ロゴ

ロゴ画像は300×60サイズのjpg画像を用意、ディレクトリ作成(/var/www/html/img)
pulse.phpはラジオ局の接続IDを取得するのでファイル名は各ラジオ局(ID.jpg)とします
ex FMT.jpg BAYFM78.jpg moode.jpg pulse.jpg
参考 /var/www/html/pulse.php

<!-- Volume monitor -->
<?php
---
// radiko logo
    $station = shell_exec("ps ax | grep rtmpdump | grep -v grep | awk '{print substr($9,1)}' | tr -d /_definst_");
    if ($pulse == TRUE) {
        if ($station == NULL) {
            $station = ('pulse');
        }
    }else{
        $station = 'moode';
    }
?>

--- ボタン部の最後に
<a href="pulse.php?id=top"><img src="http://moodez/html/img/<?php print_r($station); ?>.jpg"></a>


pulseボタンまたは空白ボタンでmpc stop pulseaudio –start
radiko再生中はpulseボタンで停止
白ボタンはデフォルト値をセット
外部からの接続待ち


サイマルラジオからradiko再生開始
Refreshで設定した時間内に自動更新(60秒に設定適当に)
タイミングによってはもう1サイクルずれることあり
ロゴ画像をクリックすると更新するので使いやすい時間を設定

<!-- Refresh 60s -->
<meta http-equiv="Refresh" content="60;URL=pulse.php?id=top">


ボタン上のタイトル文字は以下で変更可

<!-- Volume monitor -->
$_SESSION['broad'] = "pulse raspberryPi Zero"; // pulseaudio
$_SESSION['broad'] = "pulse moOde audio"; // MPD

pulseaudio接続は再生が終了すると–killしてしまいます。明示的に–killする以外は–startを保持するためpavucontrolを起動しておきます。
raspberrypi zeroはスペック上厳しくなってきたので常時稼働のファイルサーバーでpavucontrolを起動しておくことにしました。
設定が正しければサイマルラジオからはmpd pulseaudioは自由に選局、再生可能のはずです。
音を出す前に十分確認、テストを実行するようにします
またサイマルラジオ以外からはpulseaudio系の音源は実行しないようにします


いい感じだと思います。使わないときは巻き上げるなりしておきます。

しばらく使えるといいのですが!

ロゴ画像はwebから拾ってGimpのキャンパスサイズの変更、拡大縮小で簡単に作成できると思います。
参考までに作成した関東エリアのロゴ画像を置いておきます。