投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/4/3 14:49:03
> > 検証段階では、可能な限り Web サイト上に配置するようにしましょう。
> IIS上に置き
> "C:\inetpub\wwwroot\test.mp3" に切り替えました

もしも、HTML 上に
 (0)  src="C:\inetpub\wwwroot\test.mp3"
と記述しているのだとしたら、それは NG です。

<audio src> のタグを解釈するのはスマートフォン側なので、
 (1)  src="http://サーバー名/test.mp3"
 (2)  src="//サーバー名/test.mp3"
 (3)  src="test.mp3"
 (4)  src="/test.mp3"
 (5)  src="./test.mp3"
などの記述でなければなりません。


> 現在は、会社共有サーバーから相対パスで指定していますが
「HTML と MP3 の両方」が IIS 上に置かれた場合も、
通常は (4) のパス指定で良いでしょう。
絶対パス指定にしたいのであれば、(1) の指定で試してみてください。

なお、上記の (3) と (5) は同じ意味となりますが、それ以外は
それぞれ同じファイルを指しているとは限りませんので御注意を。


> 表示されているが無効になっている
たとえば、ブラウザから
http://honttoni.web.fc2.com/blog_honttoni/samples/sample62set/audio/sample.mp3
という URL を開いた場合、どのような動作になりますか?

(a)コントローラーが表示されており、操作できる
(b)コントローラーが表示されるが、無効になっており操作できない
(c)ダウンロード保存になってしまう
(d)エラーになる
(e)その他

当方の Android 7.0 スマートフォンでは、(a)の動作になりました。
使用している Android のブラウザーは Chrome 26.0.2924.87 です。

もしもこれが (b) や (d) になるなら、実行環境に問題があるのだと思います。

また、上記 URL なら (a) になるのに、社内 IIS 上の mp3 を指定すると
(c) や (d) になるのなら、IIS 側の設定を見直す必要があるかもしれません。


> java script等は使うのでしょうか??
× java script
○ JavaScript


前回回答したように、ユーザー操作を伴わずに自動再生することはできません。
(ユーザーがアクションを起こすまでは、load メソッドや play メソッドも利用できません)

ゆえに音声再生のためのトリガーは、サーバー側(VB)ではなく
クライアント側(JavaScript)で行う必要があります。

具体的なコードは先に紹介した URL で説明されているので省略しますが、とにかく
「ユーザー操作」(タッチ、マウス操作、キー入力など)に応じて再生させるということです。
自動再生は無理ですが、たとえば jquery の colorbox 等を配置しておき、
┏━━━━━━━━━━━━━━┓
┃CSV ファイルが更新されました┃
┃      [OK]      ┃
┗━━━━━━━━━━━━━━┛
などのメッセージを表示させ、ユーザーに OK ボタンを押してもらった際に
audio の play メソッドを呼んで再生させるという手順で再生させることならば可能です。

この自動再生できないという制限は、サウンドファイルだけでなく、
動画ファイルであっても同様です。(動画については、ひとまず
アニメーション GIF で代用するという逃げ道はありますけれども)


なお、クライアント側のスクリプトであったとしても、ユーザー操作でない呼出
(たとえば setTimeout や、ajax の非同期通信からの呼出など)の場合には、
この制限を回避できません。