According to the documentation, Android should support mp4 H.264 playback (decoding) for all API levels. However, there seem to be a lot of factors that affect whether an actual video will play or not. The most in depth answer I could find that told how to encode the videos is ffmpeg
command line tool to do the conversion to something that should be playable on all (hopefully?) Android devices. Read the answer I linked to for more explanation. I used a slightly modified version because I was getting errors with the original version.
ffmpeg -y -i input_file.avi -s 432x320 -b:v 384k -vcodec libx264 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8 -subq 6 -trellis 0 -refs 5 -bf 0 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -c:a aac -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 -strict -2 output_file.mp4
I would definitely read up a lot more on each of those parameters to see which need adjusting as far as video and audio quality go.
Next, rename output_file.mp4
to test.mp4
and put it in your Android project's /res/raw
folder. Create the folder if it doesn't exist already.
ایشونه گفته
آقا! این دایرکتوری یه چیز دل به خواهی نیس که هر کی برا خودش یکی بسازه
میخوای دایرکتوری ایجاد کنی باید بری تو res بزنی new Android Resource Directory تا بیاره!
چهار ساعته من دارم کف نتو می گردم و آخر فهمیدم خود ویدئوهه compatible نبوده با این که میگه هستم، دروغ میگه و دروغگو سگه
باید با VLC player به فرمت جدیدی تبدیلش کنی
اینجا ملت تونستن منم یه کانورتی کردم ولی صدا نداشت چون VLC playerم مال ۲۰۱۶ بود ایشالا اگه عمری بود این ارور مزخرفو سرجاش میشونم ! خر خر خر !!
خطای Can't play this Video در اندروید استودیو VideoView
package ir.ben.frog;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.provider.MediaStore;
public class audplayer extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_audplayer);
MediaPlayer mp= MediaPlayer.create(this,R.raw.demoaudio);
mp.start();
}
}
package ir.ben.showvideo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
VideoView vvv=findViewById(R.id.videoView);
vvv.setVideoPath("android.resource://"+getPackageName()+"/"+R.raw.demovideo);
MediaController mp=new MediaController(this);
mp.setAnchorView(vvv);
vvv.setMediaController(mp);
vvv.start();
}
}
یوووووهووووو ۸ روز فاصله افتاد بعد این گیر کردن تو ویدئو!! دیگه میخام ولش کنم اصن به گور سیاه!
باگ
اول میگه can’t play this video بعد شروع میکنه پلی میکنه!!
باگ
کنترلر برا من نمیاد که
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFEB3B" tools:context=".VideoActivity"> <VideoView android:id="@+id/videoView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" /> </RelativeLayout>
بعد نوشت : شکر خدا با آپدیت کردن باگا حل شد الان فیلم استادو پخش می کنه ولی به پت و مت باگ میده! با این مسخره بازیشون. کنترلر هم عقب جلو می زنی درست نمیره
package ir.ben.frog; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.SeekBar; import java.util.Timer; import java.util.TimerTask; public class audplayer extends AppCompatActivity implements View.OnClickListener { MediaPlayer mp; SeekBar volbar,scroll; AudioManager mang; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_audplayer); volbar =findViewById(R.id.seekBar); scroll=findViewById(R.id.scroll); mp= MediaPlayer.create(this,R.raw.demoaudio); //////Audio manager mang= (AudioManager) getSystemService(Context.AUDIO_SERVICE); int maxvol=mang.getStreamMaxVolume(AudioManager.STREAM_MUSIC); int curvol=mang.getStreamVolume(AudioManager.STREAM_MUSIC); scroll.setMax(mp.getDuration()); scroll.setProgress(0); new Timer().scheduleAtFixedRate(new TimerTask() { @Override public void run() { scroll.setProgress(mp.getCurrentPosition()); } },0,100); scroll.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if(mp!=null && fromUser) mp.seekTo(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); volbar.setMax(maxvol); volbar.setProgress(curvol); mp.start(); volbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { mang.setStreamVolume(AudioManager.STREAM_MUSIC,progress,0); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); } @Override public void onClick(View v) { } }
درباره این سایت