2012-04-10 4 views
4

내 응용 프로그램에서 비디오보기를 넣고 잘 작동하지만 페이지를 열면로드/버퍼가 영원히 걸릴 수 있습니다.왜 비디오 뷰가 느린가요?

어쨌든이 문제를 해결할 수 있습니까? 내 말은 3 초 영상입니다. 로드하는 데 오랜 시간이 걸리지 않아야합니다. 권리?

코드 :

package jslsoftware.co.nr; 

    import android.app.Activity; 

    import android.net.Uri; 
    import android.os.Bundle; 
    import android.widget.VideoView; 
    import android.widget.MediaController; 

    public class videoview1 extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.video1); 

     Uri vidFile = Uri.parse("http://jslserver1.yolasite.com/resources/3gp_videos/Animal.3gp"); 
     VideoView videoView = (VideoView) findViewById(R.id.videoView1); 
     videoView.setVideoURI(vidFile); 
     videoView.setMediaController(new MediaController(this)); 
     videoView.start(); 
    } 
} 

감사

답변

3

대신 직접 코드가 왜 서브 클래스하지 배치?

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
    protected Bitmap doInBackground(String... urls) { 
     return loadImageFromNetwork(urls[0]); 
    } 

    protected void onPostExecute(Bitmap result) { 
     mImageView.setImageBitmap(result); 
    } 
} 

doInBackground 메서드 내에서 물건을 바꿉니다. onPostExecute에서 실행 된 후에 할 일이 있다면.

+0

나는 그 링크를 읽고 그것은 물건을 허물어 뜨리지 않는 방식으로 많은 의미를가집니다. 하지만 지금은 코드가별로 좋지 않습니다. 별도의 스레드를 사용하는 코드를 제공하거나 코드에 설치하기 위해 필요한 작업을 안내해 줄 수 있습니까? 도와 주셔서 정말 감사합니다! – scott1218

+0

코드 내에서 다른 클래스를 정의하고 do 백그라운드 서비스에 비디오 호출을 배치하십시오. 코드로 내 대답을 편집 할 것입니다. – MACMAN

+0

정말 고마워요! – scott1218

관련 문제