ตัวอย่างการดักเหตุการณ์เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้ : Android
 

Tutorial :: Android :: ตัวอย่างการใช้งาน :: ตัวอย่างการดักเหตุการณ์เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้

ในบทความนี้ จะแสดงให้เห็นถึงตัวอย่างการดักเหตุการณ์เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้ โดยจะแสดงให้เห็นถึงการเขียนคำสั่งภายใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml ดังนี้


การเขียนคำสั่งภายใน Class Activity

  • package nutt.me.activity;
  •  
  • import android.app.Activity;
  • import android.media.MediaPlayer;
  • import android.net.Uri;
  • import android.os.Bundle;
  • import android.widget.MediaController;
  • import android.widget.Toast;
  • import android.widget.VideoView;
  •  
  • public class MainActivity extends Activity
  • {
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  •  
  • this.setContentView ( R.layout.activity_main );
  •  
  •  
  • Uri uri = Uri.parse ( "android.resource://your.package.name/" + R.raw.tak );
  •  
  •  
  • VideoView video = ( VideoView ) this.findViewById ( R.id.video );
  •  
  • video.setVideoURI ( uri );
  •  
  • video.setOnErrorListener ( new MediaPlayer.OnErrorListener ( )
  • {
  • public boolean onError ( MediaPlayer player, int what, int extra )
  • {
  • Toast toast = Toast.makeText ( MainActivity.this, "Video Can Not Loaded", Toast.LENGTH_LONG );
  •  
  • toast.show ( );
  •  
  •  
  • return true;
  • }
  • }
  • );
  •  
  • video.setOnPreparedListener ( new OnPreparedListener ( )
  • {
  • public void onPrepared ( MediaPlayer player )
  • {
  • MediaController mediacontroller = new MediaController ( MainActivity.this );
  •  
  •  
  • VideoView video = ( VideoView ) MainActivity.this.findViewById ( R.id.video );
  •  
  • video.setMediaController ( mediacontroller );
  •  
  • video.requestFocus ( );
  •  
  • video.start ( );
  • }
  • }
  • );
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง VideoView video = ( VideoView ) this.findViewById ( R.id.video ); ในบรรทัดที่ 23 เป็นการสร้าง Object VideoView โดยการไปค้นหามาจาก XML Layout และคำสั่ง video.setOnErrorListener ( ); ในบรรทัดที่ 27 เป็นการดักเหตุการณ์ว่าจะให้เกิดการทำงานใด ๆ เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้


การเขียนคำสั่งภายในไฟล์ XML Layout

  • <?xml version="1.0" encoding="utf-8"?>
  • <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent">
  •  
  • <VideoView
  • android:id="@+id/video"
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:layout_centerHorizontal="true"
  • android:layout_centerVertical="true" />
  •  
  • </RelativeLayout>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า element <VideoView> มี id คือ video (ประกาศไว้ในบรรทัดที่ 7) ซึ่งถูกใช้อ้างอิงใน Class Activity ข้างต้น


การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml

  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest ... >
  • <application ... >
  • <activity android:name="nutt.me.activity.MainActivity" ... >
  • <intent-filter>
  • <action android:name="android.intent.action.MAIN" />
  • <category android:name="android.intent.category.LAUNCHER" />
  • </intent-filter>
  • </activity>
  • </application>
  • </manifest>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า มีการประกาศ Activity ชื่อ MainActivity ที่อยู่ใน Package nutt.me.activity ไว้ภายในไฟล์ AndroidManifest.xml ในบรรทัดที่ 4


หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้ จากการเขียนคำสั่งข้างต้น

หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อ VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้

จากรูปแสดงหน้าจอของ MainActivity ซึ่งจากตัวอย่างนี้จะแสดงให้เห็นถึงว่า VideoView ไม่สามารถโหลดวิดีโอที่กำหนดได้ (ถ้าดูจากการเขียนคำสั่งใน Activity จะเห็นว่า ในบรรทัดที่ 20 ได้กำหนด Uri ของวิดีโอไม่ถูกต้อง)

Download This Example

0 Comment

  • Have no comment.

Comment Tutorial

 
 
 
 
Share This Topic Login with Facebook