日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - 自己制作一個視頻播放器,遇到問題,用的是內置surfaceview類,具體看代碼!

瀏覽:297日期:2024-02-04 13:33:33

問題描述

public class Main_activity extends AppCompatActivity { private ImageButton button; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(ImageButton) findViewById(R.id.imageButton);button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {Intent intent=new Intent(Main_activity.this,MyListView.class);startActivity(intent); }}); }}

public class MyListView extends AppCompatActivity { private ListView listView; private List<String> data = new ArrayList<String>(); @Override public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);listView = new ListView(this);data=getData();listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,data));setContentView(listView);listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {Intent intent=new Intent(MyListView.this,Surfaceview.class);intent.putExtra('datap',data.get(position));startActivity(intent);finish(); }}); } private List<String> getData(){List<String> data = new ArrayList<String>();ContentResolver c=getContentResolver();Cursor cur = c.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null,null, null,null);int num=cur.getCount();cur.moveToFirst();for (int i=0;i<num;i++){ String datapath=cur.getString(cur.getColumnIndex(MediaStore.Video.Media.DATA)); data.add(datapath); cur.moveToNext();}return data; }}

public class Surfaceview extends AppCompatActivity { MediaPlayer mp; SurfaceView sv; Handler mHandler; Runnable mRunnable; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.surfacexml);Intent intent=this.getIntent();final String datapath=intent.getStringExtra('datap');sv=(SurfaceView)findViewById(R.id.surfaceView2);final LinearLayout linearLayout=(LinearLayout)findViewById(R.id.test);mp=new MediaPlayer();final Button bplay=(Button)findViewById(R.id.play);Button bbefore=(Button)findViewById(R.id.before);Button bnext=(Button)findViewById(R.id.next);final SeekBar seekbar=(SeekBar)findViewById(R.id.seekbar); sv.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mHandler.removeCallbacks(mRunnable); linearLayout.setVisibility(View.VISIBLE); mHandler.postDelayed(mRunnable,4000); return false; } });mHandler= new Handler();mRunnable = new Runnable() { @Override public void run() {linearLayout.setVisibility(View.INVISIBLE); }};try { mp.setDataSource(datapath);} catch (IOException e) { e.printStackTrace();}mp.setDisplay(sv.getHolder());try { mp.prepare();} catch (IOException e) { e.printStackTrace();}mp.start();Timer timer=new Timer();timer.schedule(new TimerTask() { @Override public void run() {float x=mp.getDuration();float i=mp.getCurrentPosition();float p=i/x*100;int g=(int)p; seekbar.setProgress(g); }},0, 500);seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { float x=seekBar.getProgress();float a=mp.getDuration();float i=x/100*a;int j=(int)i;mp.pause();mp.seekTo(j);mp.start(); }});bplay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mp.isPlaying()) { mp.pause(); bplay.setText('play'); } else { mp.start(); bplay.setText('pause'); } }}); }}

以上是3個主類,我的思路是主頁面一個按鈕,然后點擊就進入MyListView,就是用list類現實本機里所有視頻文件,然后點擊一個item,在進入Surfaceview,這是主播放的界面,但是前面都還好,就是最后這個surface進不去,我在努力思考原因,各種調試,但是還是沒找出原因,錯誤如下:

E/AndroidRuntime: FATAL EXCEPTION: main Process: yuyu.mymedia, PID: 2524 java.lang.RuntimeException: Unable to start activity ComponentInfo{yuyu.mymedia/yuyu.mymedia.Surfaceview}: java.lang.IllegalArgumentException: The surface has been released at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6688) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) Caused by: java.lang.IllegalArgumentException: The surface has been released at android.media.MediaPlayer._setVideoSurface(Native Method) at android.media.MediaPlayer.setDisplay(MediaPlayer.java:795) at yuyu.mymedia.Surfaceview.onCreate(Surfaceview.java:66) at android.app.Activity.performCreate(Activity.java:6912) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6688)

然后調試的時候,當運行到sv.setOnTouchListener(new View.OnTouchListener()這句以及后面的mp,handle等,會出現沒有sv,mp,這些的實例,十分不理解,怎么會沒有實例?

問題解答

回答1:

會不會是surfaceHolder還沒準備好的時候,就調用了MediaPlayer的start()方法。

回答2:

自己頂一下,怎么沒有人。。。

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产v综合v| 99久久久久国产精品| 伊人精品视频| 日韩视频久久| 国产亚洲激情| 亚洲bt欧美bt精品777| 亚洲在线网站| 亚洲精选av| 青青草国产成人99久久| 日韩欧美美女在线观看| 美女精品一区| 日韩欧美美女在线观看| 日韩国产在线观看| 久久亚洲资源中文字| 国产美女高潮在线观看| sm久久捆绑调教精品一区| 日韩免费在线| 日韩中文欧美在线| 欧美欧美黄在线二区| 麻豆精品一区二区综合av| 成人在线视频区| 精品中文字幕一区二区三区av| 999精品色在线播放| 亚洲综合中文| 岛国精品一区| 亚洲福利专区| 视频在线在亚洲| 国产乱码精品一区二区三区亚洲人 | 亚洲激情中文| 日韩av中文字幕一区二区三区| 国产成人免费| 夜夜嗨av一区二区三区网站四季av| 美女国产一区| 亚洲国产福利| 欧美精品影院| 国产精品人人爽人人做我的可爱| 久久国产尿小便嘘嘘| 免费亚洲一区| 亚洲欧洲日韩| 亚洲综合在线电影| 国产精品1区| 日韩高清一级| 在线综合亚洲| 99久久99视频只有精品| 精品久久99| 久久精品超碰| 日本不卡视频在线| 亚洲欧洲另类| 激情综合网五月| 久久精品在线| 日韩av免费| 国产一区二区三区久久久久久久久| 激情婷婷久久| 日本一区二区免费高清| 国产极品模特精品一二| 欧美日韩亚洲一区二区三区在线| 综合一区av| 日韩不卡一二三区| 亚洲丝袜美腿一区| 麻豆精品91| 一区二区国产精品| 一区二区三区四区精品视频| 久久福利影视| 视频一区欧美日韩| 美国欧美日韩国产在线播放| 亚洲丝袜啪啪| 狠狠爱www人成狠狠爱综合网| 开心激情综合| 国产精品久久久久久妇女| 日本综合精品一区| 蜜臀久久99精品久久久画质超高清| japanese国产精品| 精品一区亚洲| 欧美一级精品| 免费av一区二区三区四区| 亚洲午夜久久久久久尤物| 在线国产一区二区| 免费日韩精品中文字幕视频在线| 一区在线免费观看| 日欧美一区二区| 欧美日本二区| 欧美久久天堂| 在线一区av| 日韩在线视频精品| 美女毛片一区二区三区四区| 一区福利视频| 久久xxx视频| 国产一区2区| 日本久久成人网| 亚洲在线观看| 国模精品一区| 午夜宅男久久久| 久久在线91| 婷婷六月综合| 国产精品传媒麻豆hd| 特黄特色欧美大片| 日韩av一区二区在线影视| 国产一区二区视频在线看| 午夜免费一区| 电影91久久久| 日韩精品免费一区二区夜夜嗨 | 一本综合精品| 91视频精品| 欧美午夜网站| 蜜桃一区二区三区在线| 97精品国产福利一区二区三区| 五月综合激情| 国产一区二区三区不卡av| 婷婷精品久久久久久久久久不卡| 日韩理论片av| 美女在线视频一区| 日韩欧美三区| 亚洲乱码视频| 99热精品在线| 99久久夜色精品国产亚洲1000部| 国产精品99免费看| 成人在线观看免费视频| 国产精品免费大片| 国产精品三级| 国产欧美综合一区二区三区| 免费看黄色91| 亚洲二区在线| 99热精品久久| 欧美freesex黑人又粗又大| 久久av影院| 欧美视频久久| 国产精品九九| 国产精品黄网站| 日本欧美一区二区| 日韩av资源网| 国产精品视频首页| 欧美日韩亚洲一区三区| 国产乱码精品一区二区三区四区| 免费一级片91| 日本成人在线网站| 国产乱码精品一区二区三区四区| 欧美亚洲一区二区三区| 黄色日韩在线| 蜜桃视频在线观看一区二区| 婷婷亚洲精品| 国产精品免费精品自在线观看| 麻豆91在线播放| 国产麻豆久久| 丝袜美腿一区二区三区| 亚洲美女久久| 大香伊人久久精品一区二区| 日韩欧美一区免费| 日韩欧美另类一区二区| 欧美日韩视频| 国产伦理久久久久久妇女| 国产精品久久观看| 日韩午夜黄色| 欧美三级精品| 蜜臀av亚洲一区中文字幕| 日韩**一区毛片| 精品国产美女a久久9999| 亚洲网站视频| 欧美日韩亚洲一区三区| 中文字幕在线看片| 日韩专区一卡二卡| 精品午夜av| 在线日韩成人| 欧美亚洲自偷自偷| 国产精品专区免费| 亚洲精品黄色| 国产欧美一区二区三区精品酒店| 国产日韩专区| 国产精品一区二区美女视频免费看| 国产传媒在线观看| 欧美资源在线| 婷婷激情一区| 国产日韩一区二区三区在线| 91精品一区二区三区综合在线爱 | 日韩国产在线观看一区| 亚洲永久av| 国产精品天堂蜜av在线播放| 国产精品毛片| 91精品国产91久久久久久黑人| 日本午夜精品| 99国产精品私拍| 麻豆国产欧美一区二区三区| 先锋影音国产一区| 久久国产精品成人免费观看的软件| 国产精品白丝久久av网站| 西西人体一区二区| 欧美日韩国产传媒| 亚洲爱爱视频| 亚洲一级少妇| 国产成人免费av一区二区午夜| 日韩国产欧美在线播放| 99在线观看免费视频精品观看| 99久久精品网站| 精精国产xxxx视频在线野外| 日韩啪啪电影网| 日本精品在线中文字幕| 黄色在线网站噜噜噜| 久久久一本精品| 九九久久婷婷| 亚洲永久字幕| 亚洲精品成a人ⅴ香蕉片|