質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Linux

    4358questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • bash

    777questions

    bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

SynologyのNASでAudio Stationのプレイリストをタスク化

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,644

takepieee

score 666

非常にニッチな質問で大変恐縮なのですが・・

SynologyのDS216jというNASを使っています。
OS情報:

# cat /proc/version
Linux version 3.10.77 (root@build3) (gcc version 4.9.3 20150311 (prerelease) (crosstool-NG 1.20.0) )

パッケージでAudio Stationというアプリがあり、それを使ってプレイリストを作り、時限式の自動再生を試みています。
コントロールパネルからAudio Stationを立ち上げ、再生リストから音楽を再生することに何も問題はありません。
NASにUSBスピーカーを接続することが出来ますので、そこから出力しています。

自動起動について、コントロールパネルにタスクスケジューラはあるのですが、起動スクリプト自体は自作するしかないようです。

Audio Stationはmplayerを使っているようなので、

/var/packages/AudioStation/target/bin/mplayer -playlist /usr/syno/etc/preference/user/playlists/playlist.m3u -loop 0 -shuffle -volume 40

これでいけると思いましたが

MPlayer2 00bceaf (C) 2000-2012 MPlayer Team
Cannot open file '/root/.mplayer/input.conf': No such file or directory
Failed to open /root/.mplayer/input.conf.
Cannot open file '/usr/local/etc/mplayer/input.conf': No such file or directory
Failed to open /usr/local/etc/mplayer/input.conf.

Playing /usr/syno/etc/preference/user/playlists/../../../../../../volume1/music/song.mp3.
Detected file format: MP2/3 (MPEG audio layer 2/3) (libavformat)
[mp3 @ 0x76f2c6f8]Skipping 0 bytes of junk at 4608.
[mp3 @ 0x76f2c6f8]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (mp3), -aid 0
Clip info:
***
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Selected audio codec: MP3 (MPEG audio layer 3) [libavcodec]
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
[AO_ALSA] alsa-lib: pcm_hw.c:1293:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
[AO OSS] audio_setup: Can't open audio device /dev/dsp4: Device or resource busy
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Remove the equalizer filterVideo: no video
Starting playback...

confファイルは無いわ、コーデックはnot availableだわ、デバイスはbusyだわ、えらい文句言われるのですが(重ねてコントロールパネルからは再生できます)、このメッセージが流れた後にファイル変換が始まります。しかも全曲。多分ですが。(さすがにキャンセルします)
海外のforumで似たような質問を見つけ、デバイス指定がどうも必要ではないかと思い、

/var/packages/AudioStation/target/bin/mplayer -ao alsa:device=hw=0 -playlist /usr/syno/etc/preference/user/playlists/playlist.m3u -loop 0 -shuffle -volume 40

としましたが、ものすごい勢いでメッセージが流れるのでキャンセルします。
前回と違うのは

Failed to initialize audio driver 'alsa:device=hw=0'

が入っている事です。
ここで詰まりました。

/var/packages/AudioStation/target/bin/mplayer -ao help
MPlayer2 00bceaf (C) 2000-2012 MPlayer Team
Available audio output drivers:
        alsa    ALSA-0.9.x-1.x audio output
        oss     OSS/ioctl audio output
        pulse   PulseAudio audio output
        null    Null audio output
        pcm     RAW PCM/WAVE file writer audio output

どうデバイスを設定するのか分からない状態です。
本来であればSynologyのforumに投稿すべき内容なのは承知しておりますが、日本語でログを残したく、こちらに投稿させていただきました。
何卒よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

エラーの箇所がalsaの初期化に失敗だからリストにあるoutput driveの中の使えるものを指定してみるのはどうですか?
参考になりそうなHPが有りました。
MPlayerコマンドラインの使い方
この中の’mplayer -ao’からの部分です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/16 19:10

    ありがとうございます。探してみます。

    キャンセル

check解決した方法

0

daemonモードでないと動かない事が分かりました。
動いたコードは以下となります。

/var/packages/AudioStation/target/bin/mplayer -ao alsa -playlist /usr/syno/etc/preference/user/playlists/playlist.m3u -loop 0 -unique USB -shuffle -daemon -volume 40

無事再生は出来ましたが、今度はコマンドで音楽を時間で切り替える(音楽を止める)事が出来ず、長考の末killで止める事にしました。
1)時間が来たらプレイリストを再生
2)次の時間が来たらmplayerを止め、再度別のプレイリストを再生
3)次の時間が来たら音楽を止める

2について作ったシェルは以下です。

#!/bin/sh

mplayer_pid=`ps aux | grep "mplayer" | awk '{print($2)}'`
kill -s 15 $mplayer_pid

/var/packages/AudioStation/target/bin/mplayer -ao alsa -playlist /usr/syno/etc/preference/user/playlists/playlist2.m3u -loop 0 -unique USB -shuffle -daemon -volume 40

ちなみに音楽を1曲だけ再生する場合は-playlistのオプションが無く直接ファイルを指定するだけです。

/var/packages/AudioStation/target/bin/mplayer /volume1/music/music.mp3 -unique USB -daemon -volume 40

最終的にSynologyのNASで音楽を自動再生するには
1)音楽ファイルをアップロード
2)パッケージセンターからAudio Stationを立ち上げ、プレイリストを作成
3)SSHでNASへログイン(rootになるにはsudo -iから)
4)上記を参考に任意の場所にシェルスクリプトを作成し、パーミッションを711に
5)コントロールパネルのタスクスケジューラから「作成」「予約タスク」「ユーザー指定のスクリプト」を選択。root権限でスケジュールを設定し、シェルを指定してOK

これで大丈夫でした。
普通にNASとして使うだけでなく、BGMを設定して仕事のお供にいいですね。
ちなみにハイレゾファイルも再生できました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Linux

    4358questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • bash

    777questions

    bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。