Page 1 of 2

Issue with Jukebox

PostPosted: Wed Aug 03, 2011 8:23 pm
by nerdyhearn
Hi Team,

I'm currently working on implementing jukebox control in PHP. I am a little confused because I can play songs on the machine that has subsonic just fine. When I close out of subsonic and try to start songs it comes back as status ok and says it's playing but I don't hear output. Here is the output from the PHP XMLP object with the status as playing:

SimpleXMLElement Object
(
[@attributes] => Array
(
[status] => ok
[version] => 1.5.0
)

[jukeboxPlaylist] => SimpleXMLElement Object
(
[@attributes] => Array
(
[currentIndex] => 0
[playing] => true
[gain] => 0.5
)

[entry] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 443a5c6d757369635c4d6174204b6561726e65795c596f756e67204c6f76655c3032202d20536869707320496e20546865204e696768742e6d7033
[parent] => 443a5c6d757369635c4d6174204b6561726e65795c596f756e67204c6f7665

Anyone have any ideas?

Thanks!

PostPosted: Wed Aug 03, 2011 8:45 pm
by SparkyRih
I never used jukebox mode (since my subsonic runs on a machine without any output hardware connected to it)...

But I guess you need to have the flash players active in an explorer in order to play sound...
I have had a subsonic setup on windows, I never saw any audio service in the subsonic windows envoirement...

PostPosted: Wed Aug 03, 2011 9:02 pm
by nerdyhearn
I tried it in both configurations, one with it opened with the flash player loaded and then one with the browser window closed. Neither worked for me.

PostPosted: Wed Aug 03, 2011 9:08 pm
by nerdyhearn
Found more info in the log: Not sure why it's saying that mp3 is an unsupported audio file extension in the exception?


[2011-08-03 17:04:04,855] INFO JukeboxService - Starting jukebox player on behalf of hearntho
[2011-08-03 17:04:04,856] DEBUG JukeboxService - stateUpdated : OPENING:-1:java.io.BufferedInputStream@165883b
[2011-08-03 17:04:04,857] INFO PlaylistInputStream - hearntho listening to "Young Love\05 - Chasing The Light.mp3"
[2011-08-03 17:04:04,862] WARN JukeboxService - Error in BasicPlayer.play()
javax.sound.sampled.UnsupportedAudioFileException: file is not a supported file type
at javax.sound.sampled.AudioSystem.getAudioFileFormat(Unknown Source)
at net.sourceforge.subsonic.service.JukeboxService$JuxeboxPlayer$1.initAudioInputStream(JukeboxService.java:144)
at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream(Unknown Source)
at javazoom.jlgui.basicplayer.BasicPlayer.open(Unknown Source)
at net.sourceforge.subsonic.service.JukeboxService$JuxeboxPlayer.play(JukeboxService.java:153)
at net.sourceforge.subsonic.service.JukeboxService.play(JukeboxService.java:76)
at net.sourceforge.subsonic.ajax.PlaylistService.convert(PlaylistService.java:284)
at net.sourceforge.subsonic.ajax.PlaylistService.doStart(PlaylistService.java:80)
at net.sourceforge.subsonic.controller.RESTController.jukeboxControl(RESTController.java:378)
at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at net.sourceforge.subsonic.security.RESTRequestParameterProcessingFilter.doFilter(RESTRequestParameterProcessingFilter.java:122)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

PostPosted: Wed Aug 03, 2011 9:08 pm
by SparkyRih
nerdyhearn wrote:I tried it in both configurations, one with it opened with the flash player loaded and then one with the browser window closed. Neither worked for me.


I'm sorry, I misunderstood you there... I thought it worked with subsonic opened...

Are there no other jukebox apps available? Just to see if you are able to use the jukebox mode on the server in the first place...

PostPosted: Wed Aug 03, 2011 9:12 pm
by nerdyhearn
There aren't a lot of options for jukebox control. Android doesn't have anything.

PostPosted: Wed Aug 03, 2011 9:22 pm
by nerdyhearn
Very interesting... I tried listing a few other songs and adding them. Those work.

PostPosted: Wed Aug 03, 2011 9:24 pm
by SparkyRih
nerdyhearn wrote:There aren't a lot of options for jukebox control. Android doesn't have anything.


Try manipulating the URL in the browser until it works, after that you should be able to build a script around it...

http://your-server/rest/jukeboxControl. ... =start&id=

PostPosted: Thu Aug 04, 2011 12:16 am
by nerdyhearn
I have already done that, I have an entire class in PHP to control subsonic via the API. I just couldn't get that specific song (or any song in that album) to play for whatever reason (see the stacktrace above).

Thanks for your help!

Tom

PostPosted: Thu Aug 04, 2011 9:45 am
by SparkyRih
nerdyhearn wrote:I have already done that, I have an entire class in PHP to control subsonic via the API. I just couldn't get that specific song (or any song in that album) to play for whatever reason (see the stacktrace above).

Thanks for your help!

Tom


You say specific album? so others work fine?

PostPosted: Thu Aug 04, 2011 4:02 pm
by nerdyhearn
Yes sir. I play one album (Mat Kearney) and it won't work. I play all others it works like a champ.

PostPosted: Thu Aug 04, 2011 6:35 pm
by SparkyRih
nerdyhearn wrote:Yes sir. I play one album (Mat Kearney) and it won't work. I play all others it works like a champ.


Then you should re-render that album, 99% sure that will work ;)

PostPosted: Thu Aug 04, 2011 6:39 pm
by nerdyhearn
It was purchased off of Amazon.com. All the other albums from amazon work as well. Not sure why it says the extension isn't support, it's mp3 :)

PostPosted: Thu Aug 04, 2011 6:41 pm
by SparkyRih
nerdyhearn wrote:It was purchased off of Amazon.com. All the other albums from amazon work as well. Not sure why it says the extension isn't support, it's mp3 :)


Special characters in the name or tags, or is it to long?

PostPosted: Thu Aug 04, 2011 6:42 pm
by nerdyhearn
Already checked that and it's fine. I really think the core library is failing on render. No special characters and there are albums that are MUCH longer that work fine.