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月10日

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) | ポップアップ連続再生ウインドウ実験室

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) | ポップアップ連続再生ウインドウ実験室

2005年12月11日

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月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月30日

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

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

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

2006年01月04日

自前で連続再生(またまた失敗)

  またもセキュリティの壁に、立ちはだかれました。
 Seesaaではブログと、ファイルスペースのドメインが違うのです。
 ブログから、ドメインの違うHTMLのインスタンスを、操作することが出来ないようです。実行するとエラーになります。

・・という訳で、Windows Media Playerを使用して、自前で連続再生が行えるスクリプトを書いてみた。
まだテスト版、中間発表である。完成すれば、支援ツールと共に、公開する予定である。
下記のリンクをクリックすると、プレイヤが貼り付いた小さなウインドウが現れる・・
基本的に、Windows上の、Microsoft Internet Explorer + Windows Media Player 7以降で動作が可能。
が、Mozilla Firefoxでも、「(準備中)」に述べる方法を施すと動作できる。


『Parade!』 (song0001.mp3)
    [す ぐに再生]        [再 生を予約]

『Fair Wind』 (song0002.mp3)
    [すぐに再生]        [再 生を予約]

『雪と氷とお花とボクと』 (song0003..mp3)
    [すぐに再生]        [再 生を予約]


上記には、それぞれつぎのようなタグが書かれている。
下記は『Parade!』についての記述だが、その他にも、これに準じたタグが書かれている。
<a href='javascript:void(0)'
    onclick='yf7_play(
    "『Parade!』 / TAM Music Factory",
    "http://ysfactory.up.seesaa.net/songs/song0001.mp3");'>
    [すぐに再生]</a>

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

さらに、この記事の最初の部分には、つぎのスクリプトが書かれている。
<script type="text/javascript">
<!--
function yf7_popup(){
    if ( typeof(yf7_wmp_wnd)=="undefined" || yf7_wmp_wnd.closed ){
        yf7_wmp_wnd = window.open("http://ysfactory.up.seesaa.net/labo/yf-wmp-wnd.html","",
            "width=400, height=350, resizable=yes status=yes");
    }
    yf7_wmp_wnd.focus();
}
function yf7_play(name, file){
    yf7_popup();
    yf7_wmp_wnd.yf_wmp_play_request_name = name;
    yf7_wmp_wnd.yf_wmp_play_request_file = file;
    if( typeof(yf7_wmp_wnd.yf_wmp_ready)=="boolean" && yf7_wmp_wnd.yf_wmp_ready ){
        yf7_wmp_wnd.yf_wmp_play(name, file);
    }
}
function yf7_entry(name, file){
    yf7_popup();
    yf7_wmp_wnd.yf_wmp_entry_request_name = name;
    yf7_wmp_wnd.yf_wmp_entry_request_file = file;
    if( typeof(yf7_wmp_wnd.yf_wmp_ready)=="boolean" && yf7_wmp_wnd.yf_wmp_ready ){
        yf7_wmp_wnd.yf_wmp_entry(name, file);
    }
}
//-->
</script>

 ウインドウ、スクリプト本体は「http://ysfactory.up.seesaa.net/labo/yf-wmp-wnd.html」 に書かれている、掲載すると長くなるので、興味のある方はダウンロードしてご覧ください。

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

2006年01月08日

自前で連続再生(ひつこくトライ)

 これでどうだ!3度目の正直だろうか。
 Windows Media Playerを使用して、自前で連続再生が行えるスクリプトを書いてみた。
 下記のリンクをクリックすると、プレイヤが貼り付いた小さなウインドウが現れる・・
 基本的に、Windows上の、Microsoft Internet Explorer + Windows Media Player 7以降で動作が可能。
 が、Mozilla Firefoxでも、「(準備中)」に述べる方法を施すと動作できる。


『Parade!』 (song0001.mp3)
    [す ぐに再生]        [再 生を予約]

『Fair Wind』 (song0002.mp3)
    [すぐに再生]        [再 生を予約]

『雪と氷とお花とボクと』 (song0003..mp3)
    [すぐに再生]        [再 生を予約]


上記には、それぞれつぎのようなタグが書かれている。
下記は『Parade!』についての記述だが、その他にも、これに準じたタグが書かれている。
<a href='javascript:void(0)'
    onclick='yf_wmp_play(
    "『Parade!』 / TAM Music Factory",
    "http://ysfactory.up.seesaa.net/songs/song0001.mp3");'>
    [すぐに再生]</a>

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

スクリプト本体は完全に別ファイルになった。
この記事の最初の部分には、つぎのタグでスクリプトを読み込んでいる。
<script type="text/javascript" src="http://ysfactory.up.seesaa.net/labo/yf-wmp-wnd.js">
</script>


スクリプト本体は「http://ysfactory.up.seesaa.net/labo/yf-wmp-wnd.js」 に書かれている、掲載すると長くなるので、興味のある方はダウンロードしてご覧ください。
posted by わいずふぁくとりい at 01:25 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

2006年09月21日

ポップアップ連続再生ウインドウ バージョンアップ

 メディアプレイヤーウインドウ(yf-wmp-wnd)をバージョンアップした。
 「クッキーに保存」ボタンを押すと、登録されている曲がクッキーに保存される。
 次回起動したときは、保存した状態から始まる。
 この記事使って、テストをさせて頂く。

『Parade!』 (song0001.mp3)
      

『Fair Wind』 (song0002.mp3)
      

『雪と氷とお花とボクと』 (song0003.mp3)
      

※今の段階では、この 記事だけを単独で表示しないと、新しいバージョンのウインドウが開きません。
posted by わいずふぁくとりい at 23:08 | Comment(0) | TrackBack(0) | ポップアップ連続再生ウインドウ実験室

広告


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

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

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


×

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