投稿

ラベル(SoundCloud)が付いた投稿を表示しています

SoundCloud SDK 2.0ではモバイルブラウザー上で音楽再生できない問題について

イメージ
モバイルブラウザーで再生できない! らしいのだ。 Playing a streaming on mobile not working. · Issue #5 · marcoscolina/player まさかとは思ったが、SoundCloud SDK 2.0ではモバイルブラウザーで再生できない問題が本当にあることが分かった。Android 4.4.4と4.2のChrome、iOS8.1のSafariでダメなので、基本的にモバイルブラウザーでは再生できない問題があると言わざるを得ない。 SDK2をハックして再生可能に SDK2のソースコードを解析した結果、問題が分かった。 デスクトップではHTML5AudioPlayerで再生するが、モバイルではHTML5Audioをサポートしているのにもかかわらずsingleaudioplayerというもので再生するようになっていた。ここを強制的にHTML5AudioPlayerで再生するように変更することで再生できるようになった。 このサンプルのコード一式はここにある。 junkoro/SoundCloud-SDK2-on-mobile js/SoundCloud2.jsは http://connect.soundcloud.com/sdk-2.0.0.js を改造したもので、js/audiomanager.js はSDK2で自動的に読み込まれるものを改造したものだ。 とりあえず再生できるようにはなったものの多くの人が困っていると思われるので、この件についてSoundCloudに問い合わせてみようと思う。 AutoPlay問題 しかし、ひとつ問題があることが分かった。AutoPlay問題だ。再生することはできるのだが、再生するにはメディアをロードした後に必ずユーザーのタッチ操作が必要になる。 Overcoming iOS HTML5 audio limitations http://www.ibm.com/developerworks/library/wa-ioshtml5/ Making HTML5 audio actually work on mobile | Pupunzi http://pupunzi.open-lab.com/2013/03/13/m...

Changes in SoundCloud JavaScript SDK version 2

Previously, SoundCloud announced JavaScript SDK version 2. Backstage Blog - Introducing JavaScript SDK version 2 - SoundCloud Developers JavaScript SDK version 1 is now deprecated and will be permanently replaced by version 2 on July 1, 2014. What? July 1? We must hurry up! And the upgrade guide is here. Upgrading to JavaScript SDK 2.0.0 - SoundCloud Developers We've done our utmost to make the upgrade to version 2.0.0 as seamless as possible. Everything should work as it did before, but please be sure to test before deploying your application. I was relieved a little because they said "Everything should work as it did before". But actually, it's NOT TRUE! First, mute() and unmute() are deleted. These methods are SoundManager2 methods. SDK ver.1 uses SoundManger2 internally. SoundManager 2: Documentation Second, SDK2 doesn't fire event callback like onplay, onfinish. And I looked at it why. Finally, I found that it's because SDK2 now uses...

Test Results : Programmatic auto play in background tab ( YouTube, SoundCloud, DailyMotion )

I did some tests of programmatic auto play in background tab for YouTube, SoundCloud, and DailyMotion. And this is the results. Mac OS X 10.9.3 Browser Version YouTube SoundCloud DailyMotion Safari 7.0.4 (9537.76.4) OK NG NG Chrome 35.0.1916.114 OK OK OK FireFox 29.0.1 OK OK OK Opera 21.0.1432.67 OK OK OK On Mac, it's okay generally, but Safari is not good. Windows 8.1 Browser Version YouTube SoundCloud DailyMotion InternetExplorer 11.0.9600.17107 OK OK OK Chrome 35.0.1916.114m OK OK N/A(can not play) FireFox 29.0.1 OK OK OK Opera 21.0.1432.67 OK N/A N/A ...

YouTube, SoundCloud, DailyMotionのオートプレイ(バックグラウンドタブ再生)テスト結果

YouTube, SoundCloud, DailyMotionのオートプレイ(バックグラウンドタブ再生)テストをした。 その結果は次の通り。 Mac OS X 10.9.3 Browser Version YouTube SoundCloud DailyMotion Safari 7.0.4 (9537.76.4) OK NG NG Chrome 35.0.1916.114 OK OK OK FireFox 29.0.1 OK OK OK Opera 21.0.1432.67 OK OK OK Macは大体大丈夫だが、やっぱりSafariがダメ(^^); Windows 8.1 Browser Version YouTube SoundCloud DailyMotion InternetExplorer 11.0.9600.17107 OK OK OK Chrome 35.0.1916.114m OK OK N/A(プレイ不能) FireFox 29.0.1 OK OK OK Opera 21.0.1432.67 OK N/A N/A 意外にもChromeよりもIEやFFの方が良い結果。Operaが残念。

Analysis : Why SoundCloud JavaScript SDK version 2 doesn't accept options(autoplay, onfinish etc.) ?

I wrote an article about the changes of SoundCloud "JavaScript SDK version 2" previously. And then, this question came from abroad. . @junkoro [ #SDK2 Parameters and Events Issue] Can you please help me with this, please. :( http://t.co/87rn8WPqWG pic.twitter.com/1s5NfiWEz1 — Marcos Colina (@marcoscolina) 2014, 5月 25 . @junkoro i ask because you are the only one on twitter talking about it. / あなたはそれについて話してTwitter上で一つだけであるので、私は尋ねる。 — Marcos Colina (@marcoscolina) 2014, 5月 25 It's because SDK2 now uses the AudioManager rather than SoundManager2. Let's analyze this deeper. SDK2 http://connect.soundcloud.com/sdk-2.0.0.js stream: function (idOrUrl, optionsOrCallback, callback) { var a, options, stream_url, track_url; a = SC.Helper.extractOptionsAndCallbackArguments(optionsOrCallback, callback); options = a.options; callback = a.callback; options.id = "T" + idOrUrl + "-" + Math.random(); track_url = this._prepareTrackUrl(idOrUrl...

なぜSoundCloud「JavaScript SDK version 2」ではautoplayやonfinishなどのオプションを受け付けなくなったのか?の分析

以前にSoundCloud「JavaScript SDK version 2」の変更点についての記事を書いた。そうしたら海外からこんな質問が来た。 . @junkoro [ #SDK2 Parameters and Events Issue] Can you please help me with this, please. :( http://t.co/87rn8WPqWG pic.twitter.com/1s5NfiWEz1 — Marcos Colina (@marcoscolina) 2014, 5月 25 . @junkoro i ask because you are the only one on twitter talking about it. / あなたはそれについて話してTwitter上で一つだけであるので、私は尋ねる。 — Marcos Colina (@marcoscolina) 2014, 5月 25 要するに、なぜ新しいSDKではautoplayやonfinishなどのオプションを受け付けなくなったのか?という質問だ。 その理由はSDK2はSoundManager2でなくAudioManagerを使うようになったからだ。これをさらに詳しく分析してみよう。 SDK2 http://connect.soundcloud.com/sdk-2.0.0.js stream: function (idOrUrl, optionsOrCallback, callback) { var a, options, stream_url, track_url; a = SC.Helper.extractOptionsAndCallbackArguments(optionsOrCallback, callback); options = a.options; callback = a.callback; options.id = "T" + idOrUrl + "-" + Math.random(); track_url = this._prepareTrackUrl(idOrUrl); stream_url = this._prepareStreamUrl(i...

SoundCloud「JavaScript SDK version 2」の変更点

Update 14.05.28 : I wrote English version. 琴線探査: Changes in SoundCloud「JavaScript SDK version 2」 先日SoundCloudから「JavaScript SDK version 2」をリリースするよーというアナウンスがあった。 Backstage Blog - Introducing JavaScript SDK version 2 - SoundCloud Developers JavaScript SDK version 1 is now deprecated and will be permanently replaced by version 2 on July 1, 2014. 7月1日にver.1はver.2で永久に置き換わるとあるので、急がなきゃなと思っていた。 アップグレードガイドも出ていた。 Upgrading to JavaScript SDK 2.0.0 - SoundCloud Developers We've done our utmost to make the upgrade to version 2.0.0 as seamless as possible. Everything should work as it did before, but please be sure to test before deploying your application. 「全て以前のように動くはずだから」というので少し安心したが、実際にやってみたらトンでもない!開発者は急いだ方がいい。 まずおかしいなと気づいたのは、これまであったmute()とunmute()が無くなっていたこと。これらはver.1のSDKが内部的に使っていたSoundManager2のメソッドだ。 SoundManager 2: Documentation さらにおかしいなと思ったのは、onplayとかonfinishなどのイベントコールバックが効かなくなっていたこと。 色々と調べていくと、どうやらver.2はSoundManager2を使うのをやめて「AudioManager」というのを使うようになったようだ。 javascri...