ステレオシステムに接続されているがクライアント側の要求に応じてサーバーマシン上で音楽ファイルを再生したい。クライアントの要求に応じてRailsサーバーで音を再生
クライアントはURLを介してWebアプリケーションを開き、再生をクリックしてサーバマシンでサウンドを再生します。 (ストリームにしたくない)
現時点では、サウンドファイルはコントローラと同じディレクトリにありますが、ブラウザから再生ボタンを押しても何も起きません。
これは非常に簡単かもしれませんが、初心者では私はホスト上でシステムコマンドを実行するのが難しいと感じています。私はプレイボタンからのリクエストを処理する定義されたコントローラを持っている3000
:
これまでのところ私はローカルホスト上でこのクライアント・インターフェースを持っています。
クラスWelcomeController < ApplicationControllerに DEFインデックス
エンド
def play
`mplayer myfile.mp3`
head :ok
end
エンド
routes.rbを
Rails.application.routes.draw do
root 'welcome#index'
get "/play" => "welcome#play"
end
レーキルートの出力
Prefix Verb URI Pattern Controller#Action
root GET/ welcome#index
play GET /play(.:format) welcome#play
Index.html.erb
<h1>Play it!</h1>
<%= link_to "Play", play_path, remote: true %>
gemfileに 'byebug'を追加して、シェルレスポンスを変数'に保存すると、html5プレーヤーを使うことができます:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video – toddmetheny
' res = \ 'mplayer myfile.mp3 \' 'そしてその行の後ろに' byebug'を置きます。次に、サーバーを再度実行し、リンクをクリックします。あなたはブレークポイントを打ち、シェルコマンドで何が起こっているのかをデバッグできるはずです –
@toddmethenyクライアント側でオーディオファイルを再生したくないので、RailsサーバがホストされているLinuxマシンで再生したい。 –