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

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

新規登録して質問してみよう
ただいま回答率
85.48%
bash

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

Linux

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

Q&A

解決済

2回答

4493閲覧

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

takepieee

総合スコア686

bash

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

Linux

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

1グッド

0クリップ

投稿2016/11/16 09:40

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

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に投稿すべき内容なのは承知しておりますが、日本語でログを残したく、こちらに投稿させていただきました。
何卒よろしくお願いします。

YsMana👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

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

投稿2016/11/16 10:00

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takepieee

2016/11/16 10:10

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

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について作ったシェルは以下です。

bash

1#!/bin/sh 2 3mplayer_pid=`ps aux | grep "mplayer" | awk '{print($2)}'` 4kill -s 15 $mplayer_pid 5 6/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を設定して仕事のお供にいいですね。
ちなみにハイレゾファイルも再生できました。

投稿2016/11/17 03:20

takepieee

総合スコア686

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問