رفتن به مطلب
  • 0

مشکل اجرای چند فیلم سنگین در video view


moiid63

سوال

سلام وقت بخیر
در فرم شش videoview   وجود دارد که میتوان از گالری فیلم ها را انتخاب کرد و در هر کدام بدون پخش صدا نمایش داد ..
تا وقتی که فیلمهای کوچک انتخاب میکنم مشکلی وجود ندارد ولی وقتی یک فیلم سنگین (به طورمثال با اندازه60مگ)
انتخاب میکنم با پیام "پوزش میطلبیم،پخش این ویدئو امکان پذیر نیست" روبرو میشوم ؟؟ چرا؟
راه حل چیست ؟؟

نکته : وقتی فیلم بزرگ اولین فیلم انتخاب شود مشکلی وجود ندارد و نمایش داده میشود ولی اگر فیلم دوم کوچک انتخاب شود و در یک ویدئوویو دیگر نمایش داده شود  پیغام خطا نمایش داده میشود ؟ فیلمهای کوچک همچنان پخش میشوند ولی  فیلم بزرگ اجرا نمیشود 

از تابع زیر برای نمایش فیلم استفاده میکنم

 

// video_show
protected void video_show(int i ,final VideoView videoview){
....
if (videoview!=null){
videoview.setVideoURI(null);
videoview.stopPlayback();
videoview.setVisibility(4);
videoview.setVisibility(0);
}
...
if(!video_array[i][0].equals("e")){
audioFileUri =Uri.parse(video_array[i][0]);
if (videoview!=null){
videoview.setVideoURI(audioFileUri);
videoview.setOnPreparedListener(PreparedListener);
videoview.start();
...

}}
//set video no sound and repeat
MediaPlayer.OnPreparedListener PreparedListener = new MediaPlayer.OnPreparedListener(){

    @Override
    public void onPrepared(MediaPlayer m) {
        try {
               if (m.isPlaying()) {
                   m.stop();
                   m.release();
                   m = new MediaPlayer();
               }
               m.setVolume(0f, 0f);
               m.setLooping(true);
               m.start();
               
           } catch (Exception e) {
               e.printStackTrace();
           }    

هر شش ویدئو ویو در یک اکتیویتیه ..

ولی از کد include در xml استفاده کردم تا چیدمانم راحتتر بشه و یک لایوت با شش ویدئو ویو در فرم اصلی نمایش داده شود..
کدی که در فرم اصلی فرم جدول ویدئوهارو فراخوانی میکنه ::

 

<include
          android:layout_gravity="top|right"
              
          android:layout_width="0dip"
          android:layout_height="wrap_content"
          android:layout_marginRight="2dp"
          android:layout_weight="82"
          layout="@layout/show_video_table_2" />

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 6 ساعت قبل، moiid63 گفته است :

فیلم بزرگ اجرا نمیشود 

میتونید از کد زیر برای بافر کردن استفاده کنید {تست نشده}

private void convertBytesToFile(byte[] bytearray) {
    try {

        File outputFile = File.createTempFile("file", "Video", getCacheDir());
        outputFile.deleteOnExit();
        FileOutputStream fileoutputstream = new FileOutputStream(Videofile);
        fileoutputstream.write(bytearray);
        fileoutputstream.close();

    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

**File outputFile = File.createTempFile("file", "Video", getCacheDir()); 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...