کلیدستان

نسخه‌ی کامل: مشکل اجرای چند فیلم سنگین در video view
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام وقت بخیر
در فرم شش 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();
           }    
   
}
};
هر ویدئو ویو داخل یک اکتیویتی جداگانه هستش؟ اگه اینجوریه شما از متد onStop استفاده کن بعد داخل متد ویدیو ویو رو ریست کن یا فینیش کن.
(۱۳۹۶/۰۱/۰۶, ۰۱:۱۱ ب.ظ)alizzz نوشته: [ -> ]هر ویدئو ویو داخل یک اکتیویتی جداگانه هستش؟ اگه اینجوریه شما از متد onStop استفاده کن بعد داخل متد ویدیو ویو رو ریست کن یا فینیش کن.

ممنون از پاسختون ..

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

ولی از کد 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" />
show_video_table_2.xml یک فرم با شش ویدیو ویو است
شش ویدئو ویو در یک فرم

[عکس: attachment.php?attachmentid=144810&d=1490947883]