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

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

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

瀏覽:301日期: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久久,三上悠亚国产精品一区二区三区
亚洲69av| 欧美日韩亚洲在线观看| 亚洲精品第一| 在线一区视频观看| 久久精品国产99国产精品| 国产精品视频一区二区三区四蜜臂| 久久久久99| 欧美日韩精品免费观看视频完整| 欧美精品影院| 91中文字幕精品永久在线| 蜜桃视频免费观看一区| 国产日韩一区二区三区在线播放| 国产国产精品| 欧美在线资源| 中文一区一区三区高中清不卡免费| 日韩一区三区| 欧美成人高清| 极品日韩av| 91亚洲精品在看在线观看高清| 亚洲五月综合| 日韩不卡一区| 激情亚洲影院在线观看| 婷婷五月色综合香五月| 久久裸体视频| 性一交一乱一区二区洋洋av| 欧美片第1页综合| 综合国产视频| 在线亚洲观看| 99精品美女| 日韩视频网站在线观看| 五月天久久久| 成人在线免费观看网站| 欧美va天堂在线| 亚洲字幕久久| 午夜精品亚洲| 婷婷综合社区| 国产欧美在线| 色婷婷精品视频| 亚洲色图综合| 国产一区二区三区四区| 亚洲在线网站| 在线日韩中文| 中文av在线全新| 视频一区视频二区中文| 久久黄色影院| 一二三区精品| 色爱综合av| 日本在线视频一区二区| 久久精品一区二区三区中文字幕| 日韩1区2区| 亚洲精品成人| 国产日韩综合| 在线视频精品| 欧美1区2区3| 91精品一区国产高清在线gif | 国产精品一区二区中文字幕| 群体交乱之放荡娇妻一区二区| 蜜臀av免费一区二区三区| 蜜臀va亚洲va欧美va天堂 | 欧美精品一区二区三区精品| 麻豆成人综合网| 伊人精品在线| 午夜在线精品偷拍| av资源新版天堂在线| 欧美国产中文高清| 国产综合精品一区| 在线视频观看日韩| 激情久久久久久久| 欧美专区18| 最新国产精品视频| 日韩影院在线观看| 丝袜美腿亚洲色图| 先锋影音久久久| 91看片一区| 久久精品97| 首页亚洲欧美制服丝腿| 国产欧美一区二区精品久久久 | 红桃视频国产一区| 日本综合字幕| 久久xxxx| 国产伦精品一区二区三区在线播放 | 日韩精品一区二区三区av| 精品久久99| 国产精品1区| 极品av在线| 欧美日韩国产高清| 欧美日本一区| 香蕉视频亚洲一级| 国产欧美日韩综合一区在线播放| 少妇高潮一区二区三区99| 中文字幕一区二区三区四区久久 | 日本免费一区二区三区四区| 欧美日韩亚洲一区三区| 国产欧美亚洲一区| 日韩电影免费在线观看| 蜜桃一区二区三区在线| 成人污污视频| 亚洲日本三级| 欧美成a人免费观看久久| 久久国产精品色av免费看| 在线一区视频观看| 国产一区二区三区黄网站| 好看的av在线不卡观看| 精品一级视频| 成人av二区| 亚洲人亚洲人色久| 日本三级亚洲精品| 欧美日韩尤物久久| 欧美日韩视频免费看| 国产精品试看| 蜜臀久久精品| 精品一区二区三区免费看| 欧美亚洲自偷自偷| 一本色道精品久久一区二区三区| 性欧美videohd高精| 久久精品国产99国产| 国产成人精选| 国产高清一区二区| 亚洲综合欧美| 亚洲人妖在线| 精品无人区麻豆乱码久久久 | 国产伦精品一区二区三区千人斩| 视频一区欧美日韩| 日本vs亚洲vs韩国一区三区二区| 亚洲一区二区小说| 综合色就爱涩涩涩综合婷婷| 在线精品国产亚洲| 国产精品探花在线观看| 国产精品一区亚洲| 欧美91在线| 国产精品成久久久久| 国产亚洲一区二区手机在线观看| 欧美日韩免费观看视频| 亚洲一本视频| 欧美日韩亚洲一区在线观看| 91精品日本| 国产精品午夜一区二区三区| 国产精品第一| 国产精品三级| 国产日韩欧美在线播放不卡| 麻豆国产欧美日韩综合精品二区| 精品欧美日韩精品| 99热国内精品| 一区二区亚洲视频| 久久这里只有| 欧美另类综合| 欧美视频二区| 色在线中文字幕| 99xxxx成人网| 亚洲三区欧美一区国产二区| 日韩福利视频网| 不卡福利视频| 一区福利视频| 国产亚洲一区| 天堂资源在线亚洲| 亚洲精品网址| 国产日韩中文在线中文字幕| 激情黄产视频在线免费观看| 国产自产自拍视频在线观看| 美女精品久久| 国产另类在线| 色乱码一区二区三区网站| 日产午夜精品一线二线三线| 亚洲天堂久久| 99久久九九| 免费视频一区二区| 亚洲精品激情| 国产精品99精品一区二区三区∴ | 亚洲精品在线a| 日韩区一区二| 精品日本视频| 99精品在线| 国产精品普通话对白| 在线观看亚洲精品福利片| 日本欧美久久久久免费播放网| 国产精品久久久久毛片大屁完整版| 精品一级视频| 精品国产亚洲日本| 麻豆成全视频免费观看在线看| 欧美日韩水蜜桃| 久久成人亚洲| 91麻豆精品激情在线观看最新| 国产精品入口久久| 日韩伦理一区| 视频一区欧美精品| 日本三级亚洲精品| 国产精品男女| 日韩在线观看一区| 久久三级福利| 久久高清一区| 国产精品免费不| 桃色一区二区| 精品日韩毛片| 91精品国产自产精品男人的天堂| 免费在线日韩av| 国产精品7m凸凹视频分类| 亚洲乱码久久| 国产精品久久久久久久久免费高清| 欧美va天堂在线| 欧美日韩亚洲国产精品|