BoXueGu資源下載鏈接:
https://download.csdn.net/download/hyh/19477319
BoXueGu圖片資源下載(免費):
https://yuyunyaohui.lanzoui.com/iWos0pyc4rc
1、準備好視頻
先將下載好的視頻分別下載命名為video1、video2,將其放入res/raw檔案夾下,注意得在資源管理器中復制粘貼,直接在eclipse中粘貼可能導致視頻被自動決議

2、修改data.json檔案
在assets目錄中的data.json檔案,每一章修改成不同的視頻名稱(在資源管理器用記事本修改,否則保存編碼格式不一致導致亂碼)

3、創建VideoUtils
在china.ynyx.heyunhui.utils包中創建VideoUtils.java檔案,具體代碼如下:
package china.ynyx.heyunhui.utils;
import android.content.Context;
public class VideoUtils {
public static int getIdByName(Context context, String className, String name) {
String packageName = context.getPackageName();
Class r = null;
int id = 0;
try {
r = Class.forName(packageName + ".R");
Class[] classes = r.getClasses();
Class desireClass = null;
for (int i = 0; i < classes.length; ++i) {
if (classes[i].getName().split("\\$")[1].equals(className)) {
desireClass = classes[i];
break;
}
}
if (desireClass != null)
id = desireClass.getField(name).getInt(desireClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return id;
}
}
4、修改播放視頻邏輯代碼
修改china.ynyx.heyunhui.activity包中VideoPlayActivity.java
String uri = "android.resource://" + getPackageName() + "/" + VideoUtils.getIdByName(getApplication(), "raw", videoPath);
clean一下或者重啟eclipse,之后重新運行,就可以播放不同的視頻了
完整代碼:
package china.ynyx.heyunhui.activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;
import china.ynyx.heyunhui.R;
import china.ynyx.heyunhui.utils.VideoUtils;
public class VideoPlayActivity extends AppCompatActivity {
private VideoView videoView;
private MediaController controller;
private String videoPath;//本地視頻地址
private int position;//傳遞視頻詳情界面點擊的視頻位置
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//設定界面全屏顯示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_video_play);
//設定此界面為橫屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//獲取從播放記錄界面傳遞過來的視頻地址
videoPath = getIntent().getStringExtra("videoPath");
position=getIntent().getIntExtra("position",0);
init();
}
/**
* 初始化UI控制元件
*/
private void init() {
videoView = (VideoView) findViewById(R.id.videoView);
controller = new MediaController(this);
videoView.setMediaController(controller);
play();
}
/**
* 播放視頻
*/
private void play() {
if (TextUtils.isEmpty(videoPath)) {
Toast.makeText(this, "本地沒有此視頻,暫無法播放", Toast.LENGTH_SHORT).show();
return;
}
String uri = "android.resource://" + getPackageName() + "/" + VideoUtils.getIdByName(getApplication(), "raw", videoPath);
videoView.setVideoPath(uri);
videoView.start();
}
/**
* 點擊后退鍵
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//把視頻詳情界面傳遞過來的被點擊視頻的位置傳遞回去
Intent data=new Intent();
data.putExtra("position", position);
setResult(RESULT_OK, data);
return super.onKeyDown(keyCode, event);
}
}
基于eclipse的android專案實戰—博學谷(零)創建和運行Android專案
基于eclipse的android專案實戰—博學谷(一)歡迎界面
基于eclipse的android專案實戰—博學谷(二)注冊界面
基于eclipse的android專案實戰—博學谷(三)登錄界面
基于eclipse的android專案實戰—博學谷(四)底部導航欄
基于eclipse的android專案實戰—博學谷(五)“我”的模塊
基于eclipse的android專案實戰—博學谷(六)設定界面
基于eclipse的android專案實戰—博學谷(七)修改密碼
基于eclipse的android專案實戰—博學谷(八)設定密保和找回密碼
基于eclipse的android專案實戰—博學谷(九)個人資料界面
基于eclipse的android專案實戰—博學谷(十)個人資料修改
基于eclipse的android專案實戰—博學谷(十一)習題界面
基于eclipse的android專案實戰—博學谷(十二)習題詳情界面
基于eclipse的android專案實戰—博學谷(十三)水平滑動廣告欄界面
基于eclipse的android專案實戰—博學谷(十四)課程界面
基于eclipse的android專案實戰—博學谷(十五)課程詳情界面
基于eclipse的android專案實戰—博學谷(十六)視頻播放界面
基于eclipse的android專案實戰—博學谷(十七)播放記錄界面
基于eclipse的android專案實戰—博學谷(十八)播放不同視頻(網路視頻)
基于eclipse的android專案實戰—博學谷(十九)播放不同視頻(本地視頻)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/290686.html
標籤:其他
