开发者

How to close streaming player screen when sp.realize() method executing

开发者 https://www.devze.com 2023-04-12 23:47 出处:网络
I have read the knowledgebase article \"Streaming media - Start to finish\"It is working fine.When I click the open video, the player screen is open. When I click the back button before the player is

I have read the knowledgebase article "Streaming media - Start to finish" It is working fine. When I click the open video, the player screen is open. When I click the back button before the player is realized, it does not come to back to the right screen.

when sp.realize(); method executing user can't come to back screen.

after loading player. it close.

How to go back a screen if sp.realize() method is still executing?

new Thread(new Runnable() 
        {
            public void run() 
            {
                try
                {
                    if(sp==null)
                    {                       
                        sp = new StreamingPlayer(url, contentType);                     
                        sp.setBufferCapacity(bufferCapacity);                       
                        sp.setInitialBuffer(initBuffer);
                        sp.setRestartThreshold(restartThreshold);
                        sp.setBufferLeakSize(bufferLeakSize);
                        sp.setConnectionTimeout(connectionTimeout);
                        sp.setLogLevel(logLevel);
                        sp.enableLogging(eventLogEnabled, sdLogEnabled);                    
                        sp.addStreamingPlayerListener(playerScreen);

                        sp.realize();
      开发者_运维技巧                  volC = (VolumeControl)sp.getControl("VolumeControl");
                        if(contentType.toLowerCase().indexOf("video")!=-1)
                        {
                            vidC = (VideoControl)sp.getControl("VideoControl");                 
                            videoField = (Field)vidC.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field");
                            vidC.setDisplaySize(Display.getWidth(), Display.getHeight()-timeSeeker.getHeight()-byteSeeker.getHeight());
                            UiApplication.getUiApplication().invokeLater(new Runnable()
                            {
                                public void run()
                                {
                                    replace(getField(0), videoField);                                   
                                }
                            });
                            vidC.setVisible(true);
                        }
                        if(contentType.toLowerCase().indexOf("audio")!=-1)
                        {
                            audioIcon = true;
                            if(!(getField(0)==albumArt))
                            {
                                UiApplication.getUiApplication().invokeLater(new Runnable(){
                                    public void run()
                                    {
                                        replace(videoField, (Field)albumArt);
                                    } 
                                });                             
                            }
                        }                       
                        sp.start();                                             
                    } 
                    else
                    {
                        sp.stop();
                        sp.close();
                        sp = null;
                        run();
                    }

                } catch(Throwable t)
                {
                    //log(t.toString());
                }
            }
        }).start();


I'm not sure exactly what you mean by this. However, have you tried running the audio stuff in a separate thread? That should reduce the likelihood of it interfering with anything else.

0

精彩评论

暂无评论...
验证码 换一张
取 消