ToneDen / Player

A pure JS customizable audio player for SoundCloud.
toneden.io/player
MIT License
529 stars 77 forks source link

Protocol Relative URL Calls file:// #34

Closed DahliaWitt closed 9 years ago

DahliaWitt commented 9 years ago

Can you create a separate version that does not contain protocol relative URLs? I am using this in a cordova app and it calls the FILE:// protocol for a lot of required resources.

Thanks

elsbree commented 9 years ago

This is complete. Let me know if you have any trouble with it.

DahliaWitt commented 9 years ago

Thanks a ton <3

DahliaWitt commented 9 years ago

It will not give me any errors in the WebKit inspector but it will keep showing the loading thing.

elsbree commented 9 years ago

Could you send me a link to the HTML file you're trying to open?

DahliaWitt commented 9 years ago

I'm writing this using the Ionic Framework and Apache Cordova (rendering in an iPhone WebKit View): Top of app.js:

`var script = document.createElement("script");

script.type = "text/javascript"; script.async = true; script.src = "http://sd.toneden.io/production/toneden.loader.js"

var entry = document.getElementsByTagName("script")[0]; entry.parentNode.insertBefore(script, entry);

ToneDenReady = window.ToneDenReady || []; `

app.js controller:

`.controller('NewVidCtrl', function($scope) { $scope.init = function(){ var config = { shrink: false, dom: "#player", skin: "dark", visualizer:"waves", tracksPerArtist: 999, urls: [ "https://soundcloud.com/Monstercat" ] };

    if(typeof ToneDen != 'undefined'){
      ToneDen.player.create(config);
    }else{
      ToneDenReady.push(function() {
        ToneDen.player.create(config);
      });
    }
  }

  $scope.$on("$destroy", function(){
    ToneDen.player.getInstanceByDom("#player").destroy();
  });
})

`

html template:

`

`

DahliaWitt commented 9 years ago

Here is the repo: https://github.com/LeedleDev/ToneDen-Ionic-Test

It will work when serving it to chrome but not from an iOS Simulator.

DahliaWitt commented 9 years ago

I believe I have found the issue:

soundManager: useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false... Jan 23 19:15:57 --- last message repeated 737 times ---

gvossos commented 9 years ago

I'm also experiencing the indefinite 'loading' animation in iOS 8.1

Please let me know how I can try the suggested fix above?

elsbree commented 9 years ago

It looks like the audio library we use (SoundManager2) is detecting that the browser doesn't support HTML5 audio (which it does) and attempting to use Flash playback, which won't work because Flash isn't available. I'm having trouble debugging this due to Safari's really, really bad remote debugging for the iOS simulator, but hopefully I can find a fix soon.

DahliaWitt commented 9 years ago

Thanks a lot. Is there a way to force HTML5?

On Tuesday, January 27, 2015, Nick Elsbree notifications@github.com wrote:

It looks like the audio library we use (SoundManager2) is detecting that the browser doesn't support HTML5 audio (which it does) and attempting to use Flash playback, which won't work because Flash isn't available. I'm having trouble debugging this due to Safari's really, really bad remote debugging for the iOS simulator, but hopefully I can find a fix soon.

— Reply to this email directly or view it on GitHub https://github.com/ToneDen/toneden-sdk/issues/34#issuecomment-71768934.

elsbree commented 9 years ago

This has been fixed in our new version.