亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? simplevideodemo.java

?? 基于J2ME的手機(jī)視頻播放系統(tǒng)的開(kāi)發(fā),可以播放本地視頻和網(wǎng)絡(luò)視頻,是我從一編程雜志上找到的
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
				if (player.getState() == Player.REALIZED
						|| player.getState() == Player.UNREALIZED) {
					player.close();			// 關(guān)閉player對(duì)象
				}
			}
			player = null;
		}
		void reset() {
			player = null;
		}
		void stopPlayer() {
			try {
				defplayer();
			} catch (MediaException err13) {
				System.err.println("err13");
			}
			reset();
		}		
		// player監(jiān)聽(tīng)事件處理方法
		/*因?yàn)橐曨l播放往往對(duì)機(jī)器的資源要求很高,同時(shí)無(wú)線網(wǎng)絡(luò)的帶寬往往很小,所以應(yīng)該改
		 *進(jìn)視頻播放的程序,只有視頻播放的Player對(duì)象準(zhǔn)備就緒后,才運(yùn)行開(kāi)始播放視頻,
		 *不應(yīng)該讓視頻播放程序占用太多的資源,因此應(yīng)該增加對(duì)Player對(duì)象的各種狀態(tài)的判斷。
		 */
		/*首先增加一個(gè)Player播放對(duì)象的監(jiān)聽(tīng)器PlayerListener,并實(shí)現(xiàn)PlayerListener監(jiān)聽(tīng)器
		 *的處理方法playerUpdate(),在playerUpdate()方法中判斷視頻播放是否結(jié)束了,可以
		 *使用參數(shù)event獲得視頻正在播放的各種狀態(tài)。
		 */
		public void playerUpdate(Player player, String event, Object data) {
			if (event == PlayerListener.END_OF_MEDIA) { //判斷是否播放結(jié)束
				try {
					defplayer();	// 釋放資源
					areaurl.setString("z");
					System.out.println("影視已播放完畢,歡迎再次點(diǎn)播!");
					display.setCurrent(anAlert, form);
				} catch (MediaException err8) {
					System.out.print("err8");
				}
				reset();
			}
		}
		public void start() {
			t = new Thread(this);
			System.out.println("啟動(dòng)線程,防止網(wǎng)絡(luò)阻塞!");
			t.start();
		}
		
		// 為了防止阻塞,使用線程
		public void run() {
			if (((areaurl.getString()).substring(0,1)).equals("`")) {
				System.out.println("正打開(kāi)本地視頻");
				// canvasvideo.areaplay(areaurl.getString());
				areaplay(areaurl.getString());
			}
			else {
				System.out.println("正打開(kāi)網(wǎng)絡(luò)視頻");
				netplay(url.getString());
			}
		}
		
		// 本地視頻播方法
		void areaplay(String url) {
			try {
				// 在創(chuàng)建新對(duì)象之前先釋放資源
				defplayer();
				InputStream ins = getClass().getResourceAsStream("/"+url);
				player = Manager.createPlayer(ins, "video/mpeg");
				player.addPlayerListener(this);
				player.realize();	// 準(zhǔn)備播放
				vc2 = (VideoControl) player.getControl("VideoControl");
				if (vc2 != null) {
					vc2.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
					// 獲取視頻的原始大小
					int frameW = vc2.getSourceWidth();
					int frameH = vc2.getSourceHeight();
					// 計(jì)算視頻屏幕在手機(jī)屏幕上的坐標(biāo)
					if (frameW > videoW)
						frameW = videoW;
					if (frameH > videoH)
						frameH = videoH;
					int frameX = (videoW - frameW) / 2 + VB_W;
					int frameY = (videoH - frameH) / 2 + VB_H;
					// 設(shè)置視頻屏幕坐標(biāo),使視頻在手機(jī)屏幕的中間顯示
					vc2.setDisplayLocation(frameX, frameY);
					// 設(shè)置視頻屏幕大小
					vc2.setDisplaySize(frameW, frameH);
					vc2.setVisible(true);
					this.addCommand(AStopCmd);
					this.addCommand(AExitCmd);
					this.setCommandListener(this);
				}
				player.prefetch();	// 使player對(duì)象進(jìn)入PREFETCH狀態(tài)
				// 獲取視頻時(shí)長(zhǎng),用于在視頻播放時(shí)顯示
				try {
					duration = player.getDuration();
				} catch (Exception err9) {
					System.err.println("err9");
					reset();
				}
				player.start();		// 播放視頻
			} catch (Exception err10) {
				display.setCurrent(areaform);
				areaform.append("打開(kāi)視頻時(shí)可能出錯(cuò)..請(qǐng)重試!");
				reset();
			}		
		}
		// 網(wǎng)絡(luò)視頻播放方法
		void netplay(String url) {
			try {				
				// 在創(chuàng)建新對(duì)象之前先釋放資源
				defplayer();			
				player = Manager.createPlayer(url);
				player.addPlayerListener(this);
				player.realize();	// 準(zhǔn)備播放
				vc = (VideoControl) player.getControl("VideoControl");
				if (vc != null) {
					Item video = (Item) vc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
					v.deleteAll();
					v.append(video);
					v.addCommand(VStopCmd);
					v.addCommand(VExitCmd);
					v.setCommandListener(this);
					display.setCurrent(v);
				}
				player.prefetch();
				try {			
					duration = player.getDuration();
					StringItem si2 = new StringItem("影片時(shí)長(zhǎng):", time2String(duration)+"秒");
					v.append(si2);
				} catch (Exception err11) {
					System.err.println("err11");
					reset();
				}
				player.start(); // 播放視頻
			} catch (Throwable err11) {
				urlform.append("連接超時(shí)或服務(wù)器地址不正確");
				reset();
			}
		}		
		// 將long型的視頻時(shí)間轉(zhuǎn)換為字符串格式
		private String time2String(long time) {
			time = time / 1000000;
			String strTime = "" + (time % 10);
			time = time / 10;
			strTime = (time % 6) + strTime;
			time = time / 6;
			strTime = (time % 10) + ":" + strTime;
			time = time / 10;
			strTime = (time % 6) + strTime;
			time = time / 6;
			return strTime;
		}		
		
		/*為了防止網(wǎng)絡(luò)阻塞造成的死機(jī)假象,需要使用線程來(lái)控制程序的播放。
		 *但是線程的控制是由手機(jī)的操作系統(tǒng)來(lái)控制的,線程可能會(huì)有暫停的
		 *可能,而線程恢復(fù)以后則會(huì)調(diào)用程序的startApp方法,因此需要在
		 *startApp方法中調(diào)用狀態(tài)判斷方法,用來(lái)判斷是否繼續(xù)播放還是釋放資源。
		 */
	 	// 開(kāi)始播放
		public void startApp() {
			try {
				if (player != null && player.getState() == Player.PREFETCHED) {
					player.start();
				} else {
					defplayer();
					display.setCurrent(form);
				}
			} catch (MediaException err2) {
				System.err.println("err2");
				reset();
			}
		}
		// 暫停播放
		public void pauseApp() {
			try {
				if (player != null && player.getState() == Player.STARTED) {
					player.stop();
				} else {
					defplayer();
				}
			} catch (MediaException err3) {
				System.err.println("err3");
				reset();
			}
		}
		
		// CanvasVideo類(lèi)的事件處理方法
		public void commandAction(Command c, Displayable d) {
			// 如果在播放本地視頻時(shí)按了"暫停"按鈕
			if (c == AStopCmd) {
				try {
					pauseApp();
					repaint(0, 0, canvasW/2, VB_H);	// 重畫(huà)屏幕上部的狀態(tài)信息
					System.out.println("本地視頻暫停");
					this.removeCommand(AStopCmd);
					this.addCommand(APlayCmd);
				} catch (Exception err6) {
					System.err.println("err6");
				}
			}
			// 如果在暫停本地視頻時(shí)按了"播放"按鈕
			if (c == APlayCmd) {
				try {
					player.start();
					repaint(0, 0, canvasW/2, VB_H);	// 重畫(huà)屏幕上部的狀態(tài)信息
					System.out.println("繼續(xù)播放");
					this.removeCommand(APlayCmd);
					this.addCommand(AStopCmd);
				} catch (Exception err7) {
					System.err.println("err7");
				}
			}
			// 如果在播放本地視頻時(shí)按了"退出"按鈕
			if (c == AExitCmd) {
				areaurl.setString("z");
				System.out.println("本地視頻已關(guān)閉,您可繼續(xù)選擇其他視頻");	
				player.close();		// 關(guān)閉并刪除player對(duì)象
				System.gc();
				display.setCurrent(anAlert, vlist);
			}
			// 如果在播放網(wǎng)絡(luò)視頻時(shí)按了"退出"按鈕
			if (c == VExitCmd) {		
				System.out.println("網(wǎng)絡(luò)視頻已關(guān)閉,您可輸入其他網(wǎng)絡(luò)視頻地址");
				player.close();		// 關(guān)閉并刪除player對(duì)象
				System.gc();
				display.setCurrent(anAlert, urlform);
			}
			// 如果在播放網(wǎng)絡(luò)視頻時(shí)按了"暫停"按鈕
			if (c == VStopCmd) {
				try {
					pauseApp();
					System.out.println("網(wǎng)絡(luò)視頻暫停");
					v.removeCommand(VStopCmd);
					v.addCommand(VPlayCmd);
				} catch(Exception ds) {
					System.err.println("ds");
				}
			}
			// 如果在暫停網(wǎng)絡(luò)視頻時(shí)按了"播放"按鈕
			if (c == VPlayCmd) {
				try {
					player.start();
					System.out.println("繼續(xù)播放");
					v.removeCommand(VPlayCmd);
					v.addCommand(VStopCmd);
				} catch (Exception err5) {
					System.err.println("err5");
				}
			}
		}				
		
		// 手機(jī)鍵盤(pán)事件處理方法(只對(duì)使用Canvas類(lèi)的本地視頻有效)
		public void keyPressed(int keyCode) {
			int g = getGameAction(keyCode);
			if (g == LEFT) {
				System.out.println("音量減5");
				adjustvolume(-5, false);
			}
			if (g == RIGHT) {
				System.out.println("音量加5");
				adjustvolume(5, false);
			}
			if (g == FIRE) {
				adjustvolume(0, true);
			}
			switch (keyCode) {
				case Canvas.KEY_NUM1:
					try {
						/* 對(duì)網(wǎng)絡(luò)視頻播放無(wú)效
						if (vc != null) {
							System.out.println("正常屏幕-全屏");
							setFullScreenMode(true);
							repaint();
						}
						*/
						if (vc2 != null) {
							System.out.println("正常屏幕-全屏");
							setFullScreenMode(true);
							repaint();
						}

					} catch (Exception err16) {
						System.out.println("err16");
					}
					break;
				case Canvas.KEY_NUM3:
					try {
						/* 對(duì)網(wǎng)絡(luò)視頻播放無(wú)效
						if (vc != null) {
							System.out.println("全屏-正常屏幕");
							setFullScreenMode(false);
							repaint();
						}
						*/
						if (vc2 != null) {
							System.out.println("全屏-正常屏幕");
							setFullScreenMode(false);
							repaint();
						}
					} catch(Exception err17) {
						System.out.println("err17");
					}
					break;
				case Canvas.KEY_NUM7:
					System.out.println("黑屏狀態(tài),按9鍵返回");
					vc2.setVisible(false);
					// vc.setVisible(false);
					break;
				case Canvas.KEY_NUM9:
					System.out.println("視頻顯示狀態(tài)為true");
					vc2.setVisible(true);
					// vc.setVisible(true);
					break;
				case Canvas.KEY_NUM0:
					System.out.println("重新播放");
					try {
						defplayer();
						start();
					} catch(Exception err18) {
						System.out.println("err18");
					}
			}
		}
		// 音量控制方法
		private void adjustvolume(int increment, boolean mute) {
			if (player != null) {
				// 獲取VolumeControl對(duì)象,用于控制音量
				VolumeControl volume = (VolumeControl) player.getControl("VolumeControl");
				if (volume != null) {
					// 目前音量級(jí)別
					volumesetting = volume.getLevel();
					// 如果不是消音
					if (mute != true) {
						// 調(diào)整音量
						volumesetting += increment;	
						volumesetting = volume.setLevel(volumesetting);
						System.out.println(volumesetting);
					} else {
						volume.setMute(!volume.isMuted());
						if (volume.isMuted()) {
							System.out.println("靜音");
						} else {
							System.out.println("取消靜音");
						}
					}
				}
			}
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月综合激情网| 奇米色777欧美一区二区| 欧美色图第一页| 欧美aⅴ一区二区三区视频| 国产肉丝袜一区二区| 91小视频在线| 精品一区二区三区日韩| 国产精品大尺度| 一本色道久久综合亚洲91| 婷婷激情综合网| 国产精品嫩草久久久久| 欧美另类久久久品| 成人一区二区三区中文字幕| 亚洲综合图片区| 久久久久久毛片| 精品视频色一区| 成人美女视频在线看| 青青国产91久久久久久| 国产精品国产三级国产普通话三级 | 91精品国产色综合久久| 成人va在线观看| 青青草国产成人99久久| 一区二区欧美视频| 日韩欧美一区在线观看| 成人黄色av电影| 麻豆精品国产传媒mv男同| 中文字幕在线一区免费| 日韩女优毛片在线| 欧美视频三区在线播放| 不卡av在线网| 国产精品亚洲成人| 奇米精品一区二区三区在线观看 | 国产综合久久久久影院| 亚洲va国产天堂va久久en| 国产精品乱码一区二三区小蝌蚪| 日韩精品一区二区三区在线观看 | 亚洲与欧洲av电影| 国产偷国产偷精品高清尤物 | 欧美色图12p| 97超碰欧美中文字幕| 久久―日本道色综合久久| 欧美日韩精品电影| 欧美日韩午夜在线视频| 欧美日韩国产成人在线91| 精品视频色一区| 91精品国产福利| 日韩久久精品一区| 久久久精品国产99久久精品芒果| 精品国产一区二区三区四区四| 日韩视频永久免费| 精品国产一区二区精华| 久久精品亚洲精品国产欧美| 欧美激情一区在线| 亚洲免费视频中文字幕| 亚洲电影一级黄| 青青青伊人色综合久久| 国产精品亚洲专一区二区三区| 国产成人在线视频网站| 91麻豆国产福利精品| 欧美久久久久免费| 精品免费日韩av| 国产网站一区二区三区| 一区二区三区在线视频免费 | 亚洲三级电影全部在线观看高清| 一区二区三区不卡视频在线观看 | 亚洲大尺度视频在线观看| 日本女人一区二区三区| 国产精品一区二区在线播放 | 精品少妇一区二区三区在线播放 | 亚洲色图.com| 亚洲123区在线观看| 麻豆国产精品视频| 成人精品电影在线观看| 欧美日韩国产不卡| 久久久久国产精品免费免费搜索| 亚洲品质自拍视频| 日本视频一区二区| 成人v精品蜜桃久久一区| 欧美日韩一区二区三区在线看| www国产精品av| 中文在线免费一区三区高中清不卡| 国产精品大尺度| 日韩福利视频网| 成人黄色在线看| 欧美欧美午夜aⅴ在线观看| 久久午夜免费电影| 亚洲电影一级黄| 成人三级在线视频| 91精品欧美久久久久久动漫| 亚洲国产高清aⅴ视频| 性感美女极品91精品| 粉嫩绯色av一区二区在线观看 | 7777精品伊人久久久大香线蕉的| 久久综合给合久久狠狠狠97色69| 亚洲欧美激情在线| 国产精品综合在线视频| 在线播放一区二区三区| 国产精品成人一区二区三区夜夜夜| 亚洲一区二区三区在线| 国产 欧美在线| 91精品国产综合久久久久久漫画| 亚洲欧洲日韩女同| 国产伦精品一区二区三区免费 | 蜜桃av一区二区在线观看| 色综合天天综合网国产成人综合天| 日韩视频一区二区三区在线播放 | 国产欧美精品在线观看| 亚洲成人综合视频| 99久久精品久久久久久清纯| 2欧美一区二区三区在线观看视频| 一区二区三区欧美激情| 国产不卡视频在线播放| 精品国产亚洲在线| 日韩精品一二三四| 色欧美乱欧美15图片| 欧美国产一区视频在线观看| 狠狠色综合播放一区二区| 欧美一区二区三区小说| 亚洲自拍偷拍综合| 色老头久久综合| 亚洲欧洲精品天堂一级| 国产黄色精品视频| 欧美精品一区二区精品网| 日本欧美久久久久免费播放网| 欧美丝袜自拍制服另类| 最新高清无码专区| 国产成人8x视频一区二区| 国产婷婷色一区二区三区四区| 麻豆久久久久久| 日韩西西人体444www| 日韩精品电影在线| 欧美一区二区三区精品| 蜜桃av噜噜一区| 欧美变态tickling挠脚心| 狠狠色综合日日| 久久精品亚洲精品国产欧美kt∨ | 91超碰这里只有精品国产| 性做久久久久久免费观看欧美| 欧美三级欧美一级| 偷拍自拍另类欧美| 欧美一区二区精品在线| 久久99久久精品欧美| 欧美大黄免费观看| 韩国欧美一区二区| 日本一区二区三区免费乱视频| 粉嫩在线一区二区三区视频| 欧美国产欧美综合| 97se亚洲国产综合在线| 一区二区三区欧美日| 欧美喷潮久久久xxxxx| 男女男精品视频| www成人在线观看| 国产91丝袜在线播放0| 国产精品色婷婷久久58| 色婷婷精品大视频在线蜜桃视频| 亚洲一区二三区| 日韩欧美国产综合在线一区二区三区| 激情五月激情综合网| 国产精品热久久久久夜色精品三区 | 精品国产乱码久久久久久夜甘婷婷| 久久99日本精品| 国产精品色哟哟网站| 欧美在线视频日韩| 美国精品在线观看| 国产免费观看久久| 欧美丝袜自拍制服另类| 美女诱惑一区二区| 国产欧美日韩另类一区| 色伊人久久综合中文字幕| 日韩精品91亚洲二区在线观看 | 国产精品久久久久9999吃药| 国产日韩精品一区二区三区在线| av中文字幕在线不卡| 舔着乳尖日韩一区| 在线中文字幕一区二区| 免费看日韩a级影片| 久久精品人人做| 欧美精品一区二区不卡| 国产精品亚洲视频| 亚洲精品视频在线| 成人精品免费视频| 国产专区综合网| 美女视频黄久久| 亚洲成人免费在线| 夜夜嗨av一区二区三区网页| 国产精品人成在线观看免费| 亚洲精品在线一区二区| 欧美精品粉嫩高潮一区二区| 色综合久久天天| 99国产精品99久久久久久| 国产成人亚洲精品青草天美| 老司机午夜精品| 蜜桃一区二区三区在线| 亚洲妇女屁股眼交7| 一区二区三区中文字幕在线观看| 亚洲欧洲日韩女同| 国产精品国产馆在线真实露脸 | 日韩在线一区二区| 亚洲18色成人| 天天影视涩香欲综合网|