refer to the old exercise "displays video in videoview", we can play video on videoview easily. we can also implement our own event handlers and register with our videoview using the methods setoncompletionlistener(), setonpreparedlistener() and setonerrorlistener().
main code, androidvideoviewactivity.java
Mã nguồn PHP:
[color=#000000]
package com[/color][color=#007700].[/color][color=#0000bb]exercise[/color][color=#007700].[/color][color=#0000bb]androidvideoview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]media[/color][color=#007700].[/color][color=#0000bb]mediaplayer[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]net[/color][color=#007700].[/color][color=#0000bb]uri[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]mediacontroller[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]videoview[/color][color=#007700];public class [/color][color=#0000bb]androidvideoviewactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{[/color][color=#ff8000]/** called when the activity is first created. */[/color][color=#007700]@[/color][color=#0000bb]override[/color][color=#007700]public [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]main[/color][color=#007700]); [/color][color=#0000bb]videoview myvideoview [/color][color=#007700]= ([/color][color=#0000bb]videoview[/color][color=#007700])[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]videoview[/color][color=#007700]); [/color][color=#0000bb]string viewsource [/color][color=#007700]=[/color][color=#dd0000]"rtsp://v5.cache1.c.youtube.com/cjyleny73wialqklthqivp_asxmyesarfeijbxytz29vz2xlsarsbwluzgv4yivjo6nmx9dvsww=/0/0/0/video.3gp"[/color][color=#007700]; [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]setvideouri[/color][color=#007700]([/color][color=#0000bb]uri[/color][color=#007700].[/color][color=#0000bb]parse[/color][color=#007700]([/color][color=#0000bb]viewsource[/color][color=#007700])); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]setmediacontroller[/color][color=#007700](new [/color][color=#0000bb]mediacontroller[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700])); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]setoncompletionlistener[/color][color=#007700]([/color][color=#0000bb]myvideoviewcompletionlistener[/color][color=#007700]); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]setonpreparedlistener[/color][color=#007700]([/color][color=#0000bb]myvideoviewpreparedlistener[/color][color=#007700]); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]setonerrorlistener[/color][color=#007700]([/color][color=#0000bb]myvideoviewerrorlistener[/color][color=#007700]); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]requestfocus[/color][color=#007700](); [/color][color=#0000bb]myvideoview[/color][color=#007700].[/color][color=#0000bb]start[/color][color=#007700]();}[/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]oncompletionlistener myvideoviewcompletionlistener[/color][color=#007700]= new [/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]oncompletionlistener[/color][color=#007700](){ @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void oncompletion[/color][color=#007700]([/color][color=#0000bb]mediaplayer arg0[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]androidvideoviewactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"end of video"[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_long[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); }}; [/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]onpreparedlistener myvideoviewpreparedlistener [/color][color=#007700]= new [/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]onpreparedlistener[/color][color=#007700](){ @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onprepared[/color][color=#007700]([/color][color=#0000bb]mediaplayer arg0[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]androidvideoviewactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"media file is loaded and ready to go"[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_long[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); }}; [/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]onerrorlistener myvideoviewerrorlistener [/color][color=#007700]= new [/color][color=#0000bb]mediaplayer[/color][color=#007700].[/color][color=#0000bb]onerrorlistener[/color][color=#007700](){ @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]boolean onerror[/color][color=#007700]([/color][color=#0000bb]mediaplayer arg0[/color][color=#007700], [/color][color=#0000bb]int arg1[/color][color=#007700], [/color][color=#0000bb]int arg2[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]androidvideoviewactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"error!!!"[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_long[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); return [/color][color=#0000bb]true[/color][color=#007700]; }};}[/color]
layout, main.xml
Mã nguồn PHP:
[color=#000000]
[/color][color=#007700]<?[/color][color=#0000bb]xml version[/color][color=#007700]=[/color][color=#dd0000]"1.0" [/color][color=#0000bb]encoding[/color][color=#007700]=[/color][color=#dd0000]"utf-8"[/color][color=#0000bb]?>[/color]<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><textviewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><videoviewandroid:id="@+id/videoview"android:layout_width="fill_parent"android:layout_height="fill_parent"/></linearlayout>
Hiện nay, có khá nhiều sản phẩm dương vật giả giá rẻ xuất hiện trên thị trường. Chúng đến từ các nhà sản xuất ở khắp nơi trên thế giới như Mỹ, Nhật, Hồng Kông…Hơn nữa, các đồ chơi này cũng khá đa...
Top những chim giả rẻ và chuẩn nhất năm 2024