2005年12月30日

自前で連続再生(開発中)

 Media Playerの再生リストはファイルに保存されることが前提のようなので、考えてみればウエブから。ローカルファイルを操作するようなことは、出来ないのがあたりまえかも知れない。
 HTA(HTML Application)や、WSH(Windows Scripting Host)などを用いることも考えてみたが、セキュリティのことを考えると、錬金術なのかも知れない。
 セキュリティが許してくれないなら、自前でヤルしかないか・・、ということで現在、Media Playerを利用して、自前で連続再生できるスクリプトを開発中。・・であります。

posted by わいずふぁくとりい at 01:32 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

2005年12月18日

Media Playerの再生リストに追加(失敗)

  実はこの方法で、ローカ ルマシーンでは出来ていたのですが、ブログの記事にすると、上手く動きません。
 どうも、MediaCollectionにaddするところで、セキュリティ上の問題があるようです。
 悔しいので、公開しますがエラーになり実行できません。
 どうしても、実行したい場合は、htmlソース(HTMLのみ)をローカルマシーンにダウンロードして、実行すると動作するはずです。
 
 さて、いよいよWindows Media Playerの再生リストに追加してみる。
 クリックしたらすぐに再生が始まる[すぐに再生]と、再生リストに追加して、あとから再生が始まるようにする[再生を予約]をつくる。
 どちらの場合もWindows Media Playerに足跡を残す。この方法で再生、または予約された曲は、Windows Media Playerのメディアライブラリに登録される。
 あとでWindows Media Playerを起動して、自由に再生リストを編集したり、ランダム再生したり、Windows Media Playerで出来ることは何でも出来る。

※[すぐに再生]を押すと、それまで予約した再生リストはクリアされます。
※同じ曲の[再生を予約]を何度も押すと、何回でも予約されます。

※この記事の機能を利用するには、Microsoft Internet Explorer 3以降と、Windows Media Player 7以降が必要である。
※動作確認は、Microsoft Internet Explorer 6と、Windows Media Player 9で行っています。

『Parade!』 (song0001.mp3)

    [す ぐに再生]        [再 生を予約]

『Fair Wind』 (song0002.mp3)

    [す ぐに再生]        [再 生を予約]

上記の 『Parade!』のほうには、それぞれつぎのタグが書かれている。
『Fair Wind』のほうも、それに準じている。
<a  href='javascript:yf6_play(
    "『Parade!』 / TAM Music Factory",
    "http://ysfactory.up.seesaa.net/songs/song0001.mp3");'>
    [すぐに再生]</a>

<a href='javascript:yf6_entry(
    "『Parade!』 / TAM Music Factory",
    "http://ysfactory.up.seesaa.net/songs/song0001.mp3");'>
    [再生を予約]</a>

さらに、この記事の最初の部分には、つぎのスクリプトが書かれている。
<script type="text/javascript">
<!--
var yf6_wnd;
function yf6_popup(){
    if ( typeof(yf6_wnd)=="undefined" || yf6_wnd.closed ){
        yf6_wnd = window.open("","","width=300, height=110, resizable=yes");
        var doc = yf6_wnd.document;
        doc.open();
        doc.write('<object id="yf6_player"');
        doc.write(' classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"');
        doc.write(' type="application/x-oleobject"');
        doc.write(' width="100%" height="100%">');
        doc.write('<param name="save" value="false" />');
        doc.write('</object>');
        doc.close();
    }
    yf6_wnd.focus();
}
function yf6_play(name, file){
    yf6_popup();
    var player = yf6_wnd.document.getElementById("yf6_player");
    var media = player.mediacollection.add(file);
    media.name = name;
    player.currentMedia = media;
}
function yf6_entry(name, file){
    yf6_popup();
    var player = yf6_wnd.document.getElementById("yf6_player");
    var media = player.mediacollection.add(file);
    media.name = name;
    player.currentPlaylist.appendItem(media);
}
//-->
</script>

(技術的なお話)
■プレイリストに追加する
 Windows Media Playerのプレイリストに追加するには、PlaylistにaddItemすればいのだが、addItemするのはMediaオブジェクトでな ければならない。追加するための新しいMediaオブジェクトは、どうして得ればいいのか?
 それは、MediaCollectionにaddすると得られる。

■ウインドウが開いていないときだけ開く
 何かをクリックしたとき、クリックした回数だけウインドウが開いてしまうと困る。
 ウインドウが開いていないときだけ、Windows Media Playerを貼り付けたウインドウを開くようにしたい。
 それには、ウインドウを保持している変数が存在するかどうかと、そのウインドウが開いていないかどうかを調べればいい。

■何かをしたとき前面へ出す
 Windows Media Playerに何かをしようとしたとき、そのウインドウが後ろに隠れたままではおもしろくない。
 何か操作をしたときは、前面へ出したい。
 それにはWindowに対し、focusを呼び出す。

posted by わいずふぁくとりい at 22:12 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

2005年12月11日

exclamationスクリプトを埋める場合はキーワードマッチを無効にする

 ブログの記事にJavaScriptを埋め込む場合の注意点です。

 キーワードマッチのアフィリエイトが有効になっていると、スクリプトの中にまでリンクタグが侵略してしまい、正しいスクリプトが崩されます。
 記事にスクリプトを埋める場合は、アフィリエイト、キーワードマッチを無効にする必要があります。
posted by わいずふぁくとりい at 12:10 | Comment(0) | TrackBack(0) | ブログ実験室

exclamation別の記事のスクリプトが干渉してしまう

 ブログの記事にJavaScriptを埋め込む場合の注意点です。

 ブログは通常、複数の記事が並んで表示されますが、そのときに、それぞれの記事に埋め込んだスクリプト同士が、干渉することがあります。
 例えば同じ名前で内容の違う関数を、複数の記事に埋め込んでいたとすると、それらの記事が同じページに表示されると、記事の境目を飛び越えて、どちらかの記事にある(多分後ろにある)関数しか呼び出されません。意図されたようには、呼び出されなくなります。
posted by わいずふぁくとりい at 11:58 | Comment(0) | TrackBack(0) | ブログ実験室

Media Playerをスクリプトで制御

連続再生をさせるために、Media Playerにプレイ(再生)リストを登録しようとすると、Ver 7.0以降のMedia Playerを使い、AcitveXでそのコントロールを制御する必要があるようだ。
ここでは、その手始めにMedia Playerをスクリプトで制御してみる。
この時点で、Microsoft Internet Explorer以外のブラウザを、基本的にあきらめなくては ならない。
他のブラウザではActiveXが実行できないからだ。とは言うものの、Mozilla Firefoxなど、他のブラウザでもActiveXが実行できるように なりつつあるようである。

連続再生させるためには、Windows Media Playerのメタファイルを作る方法もあるようだが、それはまたあとでと言うことで、JavaScriptに頼った方法を考える。

Media Playerを貼り付けた別ウインドウを開く(再生は始まらない)

song0001.mp3 を再生する

song0002.mp3 を再生する

※ここではまだ、連続再生ができると言うことではない。
※クリックした数だけ、ウインドウが開いてしまうのは、問題である。
※再生を開始しても、Playerが後ろに隠れたままである。

上記には、それぞれつぎのタグ書かれている。
<a href="javascript:popup2()">MediaPlayerを貼り付けた別ウインドウを開く(再生は始まらない) < /a><br>

<a href='javascript:play("http://ysfactory.up.seesaa.net/songs/song0001.mp3")'>
song0001.mp3を再生する</a>

<a href='javascript:play("http://ysfactory.up.seesaa.net/songs/song0002.mp3")'>
song0002.mp3を再生する</a>


さらに、この記事の最初の部分には、つぎのスクリプトが書かれている。
embedタグは止めにする。
<script type="text/javascript">
<!--
function popup2(){
    wnd = window.open("","","width=300, height=80, resizable=yes");
    doc = wnd.document;
    doc.open();
    doc.write('<object id="yf_player"');
    doc.write(' classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"');
    doc.write(' type="application/x-oleobject"');
    doc.write(' width="100%" height="100%">');
    doc.write('<param name="save" value="false" />');
    doc.write('</object>');
    doc.close();
}
function play(song){
   wnd.document.getElementById("yf_player").URL = song;
}
//-->
</script>

posted by わいずふぁくとりい at 01:07 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

2005年12月10日

Media Playerのclassidとバージョン

 objectタグの中でMedia Playerを特定するためにclassidを指定するが、バージョンなどによってつぎの4種類ある。
 NSPlayと、ActiveMovieは、今ではあまり使うことはないと思う。
 新しいバージョンのMedia Playerでは、Ver 6.3以前のclassidが指定してあっても、互換モードで動くようである。
 できれば、Ver 6.3以前のclassidを使った方が、古いMedia Playerを使っている聞き手にも聞いてもらえるが、新しい機能を使いたい場合は、Ver7.0以降のclassidを使わないとしようがないであろう。

7.0以降
6BF52A52-394A-11D3-B153-00C04F79FAA6

6.3以前
22D6F312-B0F6-11D0-94AB-0080C74C7E95

NSPlay
2179C5D3-EBFF-11cf-B6FD-00AA00B4E220

ActiveMovie
05589FA1-C356-11CE-BF01-00AA0055595A
posted by わいずふぁくとりい at 20:31 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

使用素材

 このブログでは「TAM Music Factory」さんのフリー素材を使用しています。

song0001.mp3 『Parade!』 (parade.mp3)
song0002.mp3 『Fair Wind』 (tamco03.mp3)
song0003.mp3 『雪と氷とお花とボクと』 (tam-n11.mp3)
song0004.mp3 『散歩道』 (tam-n06.mp3)
song0005.mp3 『早春の木漏れ日』 (tamsp07.mp3)
song0006.mp3 『過ぎ去りし日々』 (tamsugisa.mp3)
song0007.mp3 『moonless night』 (tamco02.mp3)
(last modified 2006.01.03)
posted by わいずふぁくとりい at 17:32 | Comment(0) | TrackBack(0) | このブログでは・・/お知らせ

MediaPlayerを別ウインドウでポップアップ

まずはMediaPlayerを、別ウインドウでポップアップさせる。
本当は、MediaPlayerを単独で出現させたいのだが、その方法がわからない。
しょうがないので、別ウインドウにMediaPlayerを貼り付けて、それをポップアップさせる。

MediaPlayerを貼り付けた別ウインドウを開く

上記には、つぎのタグがかかれている。
<a href="javascript:popup()">MediaPlayerを貼り付けた別ウインドウを開く< /a><br>

さらに、この記事の最初の部分には、つぎのスクリプトが書かれている。
<script type="text/javascript">
<!--
function popup(){
    doc = window.open("","","width=300, height=80, resizable=yes").document;
    doc.open();
    doc.write('<object id="yfmediaplayer"');
    doc.write(' classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"');
    doc.write(' type="application/x-oleobject"');
    doc.write(' width="100%" height="100%">');
    doc.write('<param name="src" value="http://ysfactory.up.seesaa.net/songs/song0002.mp3" />');
    doc.write('<param name="autostart" value="false" />');
    doc.write('<param name="save" value="false" />');
    //embed
    doc.write('<embed name="yfmediaplayer"');
    doc.write(' type="application/x-mplayer2"');
    doc.write(' width=100% height=100%');
    doc.write(' src="http://ysfactory.up.seesaa.net/songs/song0002.mp3"');
    doc.write(' autostart=0 save=0 />');
    doc.write('</object>');
    doc.close();
}
//-->
</script>

posted by わいずふぁくとりい at 17:20 | Comment(1) | TrackBack(1) | ポップアップ連続再生ウインドウ実験室

2005年12月08日

このカテゴリでは・・

 MediaPlayerを単独で出現させたいのだが、その方法がわからない。
しょうがないので、ブラウザにMediaPlayerを貼り付けた小さなウインドウを出し、それを操作する。
 このカテゴリーでは、プラグインプレイやをMedia Playerに絞って、少し込入った、カッコいい制御(そうなるかな?)をしてみたいと思う。

概ねつぎのようなことをやろうと思っている。
 ・別ウインドウでポップアップ
 ・プレイリスト操作
 ・曲情報表示
 ・連続再生
 ・ランダム再生

なお、当方で当面 動作確認を行う環境はつぎの通りである。
 ・Windows Media Player 9
 ・Microsoft Internet Explorer 6
 ・Opera 8.5
 ・Mozilla Firefox 1
 ・Microsoft Windows 2000 SP4
posted by わいずふぁくとりい at 22:31 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

2005年12月01日

♪takimariの音楽な自由時間

 私がこのブログを始めるきっかけとなった、takimariさんが、JASRACの承認を得て、この、Seesaaブログで、曲の公開をされています。

♪takimariの音楽な自由時間
http://takimari.seesaa.net/

 70〜80年代のアイドルの曲や、歌謡曲、フォークソング(ニューミュージック)などを、唄われています。
 素朴でさわやかな歌声には定評があります。

 その時代のアイドルを、リアルタイムに追いかけ、音楽をがむしゃらに聞きまくった世代には、きっと胸に突き刺さります。
(2005/12/10更新)
posted by わいずふぁくとりい at 22:47 | Comment(0) | TrackBack(0) | このブログでは・・/お知らせ

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。