Ⅰ android開發視頻教程哪位給推薦個好的 推薦幾個好的初學者學習安卓開發的網站,最好有專門的教程的那種
Android介紹
HTC G1操作界面Android 是Google開發的基於Linux平台的開源手機操作系統。它包括操作系統、用戶界面和應用程序 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。Google與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。Google通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關系,希望藉助建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
看看下面android教程,非常全面詳細:教程1:Android開發視頻培訓教程 安卓智能系統開發教程 大小:3.5G
教程2:Google Android開發入門與實戰視頻教程+源碼電子書 大小:1GB
教程3:Android開發從零開始視頻教程 大小:1.19GB
教程4:Android 2.0游戲開發實踐實例教程+源碼 大小:1.8GB
教程5:基於Android的通訊錄開發教學視頻 大小:437MB
教程6:3G手機開發之Android應用開發 大小:4.23GB
教程7:Android項目視頻教程+源碼 教程大小:1.85GB
教程8:android從入門到精通教程視頻教程大小:117MB
教程9:Android應用開發詳解 (電子書)格式:PDF
教程10:Android深入淺出提高篇 大小:2.7GB
教程11:Android實戰課程之3G應用開發 大小:1.7GB教程地址: http://cang..com/androidjc
Ⅱ 我用Android開發一個視頻播放器,可以實現在線播放,怎麼樣才能播放各大網站的視頻
下載個播放的軟體。圖標上面是個F
Ⅲ android開發 關於視頻 存放位置以及讀取方法
LZ應該知道android的四大存儲方式,文件系統,資料庫,sharepreference和網路存儲。如果LZ不願意放到asssets或者raw裡面,那就只有放到那四個裡面去了,看LZ自己取捨把
Ⅳ 零基礎自學android開發看什麼視頻比較好
自學android 建議學自學java的基礎語法,看java基礎教程視頻。
然後再看android的教程視頻。
視頻推薦:極客學院,慕課網等知名it學習網站,基礎教程都是免費的,進階都是收費的,當看到進階的時候去網路收縮進階的視頻就不用交錢學習了。
最後一點 多敲,看是沒用的。android對運行環境有要求,筆記本或者電腦配置一定要好點。
Ⅳ 急求Mars老師的android開發全套視頻
第一二季的視頻我網路雲盤下載地址:
Ⅵ Android開發視頻通話怎麼實現
/**
* Android視頻聊天
* 1、初始化SDK 2、連接伺服器、 3、用戶登錄;4、進入房間;5、打開本地視頻;6、請求對方視頻
*/
public class VideoChatActivity extends Activity implements AnyChatBaseEvent
{
private AnyChatCoreSDK anychat; // 核心SDK
private SurfaceView remoteSurfaceView; // 對方視頻
private SurfaceView localSurfaceView; // 本地視頻
private ConfigEntity configEntity;
private boolean bSelfVideoOpened = false; // 本地視頻是否已打開
private boolean bOtherVideoOpened = false; // 對方視頻是否已打開
private TimerTask mTimerTask; // 定時器
private Timer mTimer = new Timer(true);
private Handler handler; // 用Handler來不間斷刷新即時視頻
private List<String> userlist = new ArrayList<String>();//保存在線用戶列表
private int userid; // 用戶ID
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_chat);
remoteSurfaceView = (SurfaceView) findViewById(R.id.surface_remote);
localSurfaceView = (SurfaceView) findViewById(R.id.surface_local);
configEntity = ConfigService.LoadConfig(this);//載入視頻通話設置
loginSystem();// 初始化SDK 連接伺服器
mTimerTask = new TimerTask(){
public void run(){
Message mesasge = new Message();
handler.sendMessage(mesasge);
}
};
mTimer.schele(mTimerTask, 1000, 100);
handler = new Handler(){
@Override
public void handleMessage(Message msg){
VideoChat();// 不間斷顯示即時視頻通話畫面
super.handleMessage(msg);
}
};
}
// 初始化SDK 連接伺服器
private void loginSystem(){
if (anychat == null){
anychat = new AnyChatCoreSDK();
anychat.SetBaseEvent(this); // 設置基本事件回調函數
if (configEntity.useARMv6Lib != 0) // 使用ARMv6指令集
anychat.SetSDKOptionInt(AnyChatDefine.
BRAC_SO_CORESDK_USEARMV6LIB, 1);
anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0); // 初始化SDK
}
anychat.Connect("demo.anychat.cn", 8906);// 連接伺服器
}
// 顯示即時視頻通話畫面
public void VideoChat(){
if (!bOtherVideoOpened){
if (anychat.GetCameraState(userid) == 2
&& anychat.GetUserVideoWidth(userid) != 0){
SurfaceHolder holder = remoteSurfaceView.getHolder();
holder.setFormat(PixelFormat.RGB_565);
holder.setFixedSize(anychat.GetUserVideoWidth(userid),
anychat.GetUserVideoHeight(userid));
Surface s = holder.getSurface(); // 獲得視頻畫面
anychat.SetVideoPos(userid, s, 0, 0, 0, 0); // 調用API顯示視頻畫面
bOtherVideoOpened = true;
}
if (!bSelfVideoOpened){
if (anychat.GetCameraState(-1) == 2
&& anychat.GetUserVideoWidth(-1) != 0){
SurfaceHolder holder = localSurfaceView.getHolder();
holder.setFormat(PixelFormat.RGB_565);
holder.setFixedSize(anychat.GetUserVideoWidth(-1),
anychat.GetUserVideoHeight(-1));
Surface s = holder.getSurface();
anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
bSelfVideoOpened = true;
}
}
}
public void OnAnyChatConnectMessage(boolean bSuccess){
if (!bSuccess){
Toast.makeText(VideoChatActivity.this, "連接伺服器失敗,自動重連,請稍後...", Toast.LENGTH_SHORT).show();
}
anychat.Login("android", ""); // 伺服器連接成功 用戶登錄
}
public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode){
if (dwErrorCode == 0) {
Toast.makeText(this, "登錄成功!", Toast.LENGTH_SHORT).show();
anychat.EnterRoom(1, ""); // 用戶登錄成功 進入房間
ApplyVideoConfig();
} else {
Toast.makeText(this, "登錄失敗,錯誤代碼:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
}
public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode){
if (dwErrorCode == 0) { // 進入房間成功 打開本地音視頻
Toast.makeText(this, "進入房間成功", Toast.LENGTH_SHORT).show();
anychat.UserCameraControl(-1, 1); // 打開本地視頻
anychat.UserSpeakControl(-1, 1); // 打開本地音頻
} else {
Toast.makeText(this, "進入房間失敗,錯誤代碼:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
}
public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId){
if (dwRoomId == 1){
int user[] = anychat.GetOnlineUser();
if (user.length != 0){
for (int i = 0; i < user.length; i++){
userlist.add(user[i]+"");
. }
String temp =userlist.get(0);
userid = Integer.parseInt(temp);
anychat.UserCameraControl(userid, 1);// 請求用戶視頻
anychat.UserSpeakControl(userid, 1); // 請求用戶音頻
}
else {
Toast.makeText(VideoChatActivity.this, "當前沒有在線用戶", Toast.LENGTH_SHORT).show();
}
}
}
public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter){
if (bEnter) {//新用戶進入房間
userlist.add(dwUserId+"");
}
else { //用戶離開房間
if (dwUserId == userid)
{
Toast.makeText(VideoChatActivity.this, "視頻用戶已下線", Toast.LENGTH_SHORT).show();
anychat.UserCameraControl(userid, 0);// 關閉用戶視頻
anychat.UserSpeakControl(userid, 0); // 關閉用戶音頻
userlist.remove(userid+""); //移除該用戶
if (userlist.size() != 0)
{
String temp =userlist.get(0);
userid = Integer.parseInt(temp);
anychat.UserCameraControl(userid, 1);// 請求其他用戶視頻
anychat.UserSpeakControl(userid, 1); // 請求其他用戶音頻
}
}
141. else {
userlist.remove(dwUserId+""); //移除該用戶
}
}
}
public void OnAnyChatLinkCloseMessage(int dwErrorCode){
Toast.makeText(VideoChatActivity.this, "連接關閉,error:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy(){ //程序退出
anychat.LeaveRoom(-1); //離開房間
anychat.Logout(); //注銷登錄
anychat.Release(); //釋放資源
mTimer.cancel();
super.onDestroy();
}
// 根據配置文件配置視頻參數
private void ApplyVideoConfig(){
if (configEntity.configMode == 1) // 自定義視頻參數配置
{
// 設置本地視頻編碼的碼率(如果碼率為0,則表示使用質量優先模式)
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_BITRATECTRL,configEntity.videoBitrate);
if (configEntity.videoBitrate == 0)
{
// 設置本地視頻編碼的質量
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL,configEntity.videoQuality);
}
// 設置本地視頻編碼的幀率
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FPSCTRL,configEntity.videoFps);
// 設置本地視頻編碼的關鍵幀間隔
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_GOPCTRL,configEntity.videoFps * 4);
// 設置本地視頻採集解析度
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_WIDTHCTRL,configEntity.resolution_width);
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_HEIGHTCTRL,configEntity.resolution_height);
// 設置視頻編碼預設參數(值越大,編碼質量越高,佔用CPU資源也會越高)
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_PRESETCTRL,configEntity.videoPreset);
}
// 讓視頻參數生效
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_APPLYPARAM,configEntity.configMode);
// P2P設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_NETWORK_P2PPOLITIC,configEntity.enableP2P);
// 本地視頻Overlay模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_OVERLAY,configEntity.videoOverlay);
// 迴音消除設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_AUDIO_ECHOCTRL,configEntity.enableAEC);
// 平台硬體編碼設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_USEHWCODEC,configEntity.useHWCodec);
// 視頻旋轉模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_ROTATECTRL,configEntity.videorotatemode);
// 視頻平滑播放模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_STREAM_SMOOTHPLAYMODE,configEntity.smoothPlayMode);
// 視頻採集驅動設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER,configEntity.videoCapDriver);
// 本地視頻採集偏色修正設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FIXCOLORDEVIA,configEntity.fixcolordeviation);
// 視頻顯示驅動設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL,configEntity.videoShowDriver);
}
}
Ⅶ 安卓開發怎麼調用視頻
如果僅僅是播放一段視頻的話可以調用相關intent 讓別的app去播放這段視頻
Intentit=newIntent(Intent.ACTION_VIEW);
Uriuri=Uri.parse("
file:///sdcard/song.mp3
");
it.setDataAndType(uri,"audio/mp3");
startActivity(it);
Uriuri=Uri.withAppendedPath(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI,"1");
Intentit=newIntent(Intent.ACTION_VIEW,uri);
startActivity(it);
Ⅷ android視頻誰講的比較好
看android視頻可以看Mars系列的android視頻教程,一般學員認為比較好的視頻教程,非常有名的。
Mars論壇上找的視頻教程,都是關於Mars老師的,還有網盤里也有android游戲開發相關視頻教程。
即使毫無編程基礎的學員也能輕松的掌握。視頻當中包含了Java基礎語法、面相對象語法、面相對象編程思想、IO流和多線程等等內容,涵蓋了從基礎到高級的所有Java特性。完整的學員本套視頻之後,就可以開始Android開發之旅了。
Ⅸ 基於Android開發一款視頻播放器
自己開發播放器,是不是太難了。你可以使用android自帶的mediaplayer。
Ⅹ 推薦android開發視頻,最好清楚點的。謝謝
【黑馬程序員】Java多線程與並發庫高級應用
【黑馬程序員】畢向東Java入門視頻
【黑馬程序員】方立勛JavaWeb視頻
【黑馬程序員】項目視頻經典之作巴巴運動網續集
【黑馬程序員】項目視頻經典之作巴巴運動網106集
【黑馬程序員】Java視頻教程(最適合Java初學者的經典入門視頻)
【黑馬程序員】張孝祥2010年賀歲視頻:Java高新技術
【黑馬程序員】JavaWEB開發(JSP+Servlet)視頻
【黑馬程序員】JDBC視頻教程
【黑馬程序員】_struts2實用簡潔版視頻
【黑馬程序員】張孝祥Struts開發視頻教程
【黑馬程序員】Struts1 視頻教程
【黑馬程序員】AJax技術入門視頻教程
【黑馬程序員】Hibernate視頻教程
【黑馬程序員】Spring2.5視頻教程
【黑馬程序員】EJB3.0視頻教程
【黑馬程序員】JPA詳解視頻教程
【黑馬程序員】ibatis視頻教程
【黑馬程序員】張孝祥-7K月薪面試題破解之二:銀行業務調度系統
【黑馬程序員】張孝祥-7K月薪面試題破解之一:交通燈管理系統
【黑馬程序員】java網上在線支付實戰視頻
【黑馬程序員】JAVA郵件開發視頻教程
【黑馬程序員】FCKeditor視頻教程
【黑馬程序員】俄羅斯、貪吃蛇游戲-項目視頻
【黑馬程序員】HTML、CSS、JavaScript技術的入門視頻
【黑馬程序員】王澤佑JNI視頻教程
【黑馬程序員】_FTP視頻教程
【黑馬程序員】Oracle視頻教程(內部經典)
【黑馬程序員】OA+工作流(JBPM)
視頻持續更新中...