2013-04-15 17 views
5

नमूना कोड में:कैसे अलग वीडियो दृश्य में अनेक वीडियो खेलने के लिए एक गतिविधि

दो वीडियो एक ही समय नहीं खेल सकते एक गतिविधि

public class Two_videos extends Activity 
{ 
VideoView video1, video2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.two_video); 

VideoView video1= (VideoView) findViewById(R.id.video1); 
       video1.setVideoPath("/mnt/sdcard/Movies/com.bnb.giggle/IMG_20130415184609.mp4"); 
      video1.start(); 

VideoView video2= (VideoView) findViewById(R.id.video2); 
     video2.setVideoPath("/mnt/sdcard/Movies/com.bnb.giggle/IMG_20130415184608.mp4"); 
     video2.start(); 
    } 
} 

में दो वीडियो खेलने के लिए कैसे।

उत्तर

1

this answer के अनुसार, एक साथ कई वीडियो चलाने के लिए बहुत संभव है, लेकिन यह डिवाइस और उसके हार्डवेयर पर निर्भर करता है। एंड्रॉइड संस्करण कोई फर्क नहीं पड़ता। मैं सुझाव दूंगा कि आप बेहतर समझ के लिए अपनी टिप्पणियां और कोड पढ़ लें।

+0

यह मेरे नेक्सस डिवाइस पर काम नहीं कर रहा है। केवल पहली सतह वीडियो चलाएं, दो अन्य वीडियो नहीं खेले जा सकते हैं। – basheer

+1

कृपया मेरा उत्तर पढ़ें और जिसे मैं एक बार फिर से लिंक करता हूं। यह * डिवाइस * पर निर्भर करता है। आपका नेक्सस एस एक समय में केवल एक वीडियो खेलने में सक्षम हो सकता है, जबकि अन्य एक साथ कई खेल सकते हैं। यह सही जवाब है। –

+0

जब मैं दूसरी बार सतह धारक को कॉल करता हूं तो मुझे ऑन-प्रीपेयर में एक त्रुटि संदेश मिला: -java.io.IOException: विफल तैयार करें: स्थिति = 0x1 – basheer

2

एकाधिक वीडियो चलाएं हार्डवेयर पर निर्भर करता है लेकिन यदि आपका डिवाइस मीडिया प्लेयर के केवल एक उदाहरण का समर्थन करता है तो आपको किसी अन्य वीडियोव्यू में वीडियो चलाने के लिए अपने VideoView.stopPlayBack() को कॉल करना होगा। आप वीडियो को फिर से शुरू करने() विधि का उपयोग करके वीडियो को फिर से शुरू कर सकते हैं लेकिन दूसरे से खेलना बंद कर सकते हैं।

+0

मैं 2 वीडियो के साथ 'वीडियो नहीं चलाया जा सकता' त्रुटि को ठीक करने के समाधान के लिए वास्तव में लंबे समय से खोज रहा था, जिसे खेला जा सकता है। अनेक अनेक धन्यवाद! –

2

आपकी डिवाइस को कई वीडियो भी वीडियो (एचडी वीडियो) की गुणवत्ता का समर्थन करना चाहिए, जिसके लिए उच्च अंत उपकरणों की आवश्यकता है, अन्यथा यह त्रुटि फेंक देगा।

मैंने this कोड की कोशिश की जो यह सभी नेक्सस उपकरणों के साथ काम करता है।

0

कोड नीचे देखें, यहाँ विभिन्न वीडियो दृश्य में 4 वीडियो के खेलने एक गतिविधि

main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1.0" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="ycrathi.com.multiplevideoplay.MainActivity"> 

    <VideoView 
     android:id="@+id/v1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" /> 

    <VideoView 
     android:id="@+id/v2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" /> 

    <VideoView 
     android:id="@+id/v3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" /> 

    <VideoView 
     android:id="@+id/v4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" /> 


</LinearLayout> 

में MainActivity.java

package ycrathi.com.multiplevideoplay; 

import android.net.Uri; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.VideoView; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     VideoView v1 = (VideoView) findViewById(R.id.v1); 
     VideoView v2 = (VideoView) findViewById(R.id.v2); 
     VideoView v3 = (VideoView) findViewById(R.id.v3); 
     VideoView v4 = (VideoView) findViewById(R.id.v4); 
     v1.setVideoURI(Uri.parse("http://192.168.1.1/Video/vid5.mp4")); 
     v1.start(); 
     v1.requestFocus(); 
     v1.setKeepScreenOn(true); 

     v2.setVideoURI(Uri.parse("http://192.168.1.1/Video/vid5.mp4")); 
     v2.start(); 
     v2.requestFocus(); 
     v2.setKeepScreenOn(true); 

     v3.setVideoURI(Uri.parse("http://192.168.1.1/Video/vid5.mp4")); 
     v3.start(); 
     v3.requestFocus(); 
     v3.setKeepScreenOn(true); 

     v4.setVideoURI(Uri.parse("http://192.168.1.1/Video/vid5.mp4")); 
     v4.start(); 
     v4.requestFocus(); 
     v4.setKeepScreenOn(true); 

    } 
} 

AndroidMenifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="ycrathi.com.multiplevideoplay"> 
<uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
संबंधित मुद्दे