Can't play video in videoview from listview

Can't play video in videoview from listview



I can't manage to play a video on videoview from a listview on the same layout.
When clicking on listview item it displays a message "Can't play this video".
I have taken the READ_EXTERNAL_PERMISSION in Manifest.
All my videos in my phone are displayed on listview but the video won't play.


if(ContextCompat.checkSelfPermission(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
if (ActivityCompat.shouldShowRequestPermissionRationale(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE))
ActivityCompat.requestPermissions(A1.this,
new StringManifest.permission.READ_EXTERNAL_STORAGE,MY_PERMISSION_REQUEST);
else
ActivityCompat.requestPermissions(A1.this,
new StringManifest.permission.READ_EXTERNAL_STORAGE,MY_PERMISSION_REQUEST);

else
doStuff();

}

public void doStuff()
arrayList = new ArrayList<>();
getVideo();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
listView1.setAdapter(adapter);

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
String myUrl = adapter.getItem(position);
Uri uri = Uri.parse(myUrl);
videoView1.setVideoURI(uri);
videoView1.start();


);

public void getVideo()
ContentResolver contentResolver = getContentResolver();
Uri videoUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
Cursor videoCursor = contentResolver.query(videoUri,null,null,null,null);

if(videoCursor != null && videoCursor.moveToFirst())
int songTitle = videoCursor.getColumnIndex(MediaStore.Video.Media.TITLE);
int songAlbum = videoCursor.getColumnIndex(MediaStore.Video.Media.ALBUM);

do
String currentTitle = videoCursor.getString(songTitle);
String currentAlbum = videoCursor.getString(songAlbum);
arrayList.add(currentTitle + "n" + currentAlbum);
while(videoCursor.moveToNext());



@Override
public void onRequestPermissionsResult(int requestCode, String permissions, int grantResults)
switch (requestCode)
case MY_PERMISSION_REQUEST:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
if(ContextCompat.checkSelfPermission(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
Toast.makeText(A1.this, "Permission Granted" , Toast.LENGTH_SHORT).show();

doStuff();
else
Toast.makeText(A1.this, "No Permission granted" , Toast.LENGTH_SHORT).show();

finish();

return;






}





in your adapter, you don't have valid uri arrayList.add(currentTitle + "n" + currentAlbum); this is not the valid url.
– Krishna Sharma
Aug 28 at 20:17





Look at this stackoverflow.com/questions/3401579/…
– Krishna Sharma
Aug 28 at 20:24





@KrishnaSharma I changed arrayList.add(currentTitle + "n" + currentAlbum); to arrayList.add(currentTitle); and it works fine, the video mow plays perfectly. Thank You
– Kumar Shivam Ray
Aug 29 at 15:55


arrayList.add(currentTitle + "n" + currentAlbum);


arrayList.add(currentTitle);





Great !! glad to know that worked. Lets close this question then. Posting as an answer you may accept.
– Krishna Sharma
Aug 29 at 16:01





1 Answer
1



This was the my code


protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_a1);
listView1 = findViewById(R.id.lv1);
videoView1 = findViewById(R.id.vv1);
mediaController = new MediaController(A1.this);

if (ContextCompat.checkSelfPermission(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
if (ActivityCompat.shouldShowRequestPermissionRationale(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE))
ActivityCompat.requestPermissions(A1.this,
new StringManifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSION_REQUEST);
else
ActivityCompat.requestPermissions(A1.this,
new StringManifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSION_REQUEST);

else
doStuff();



@Override
public void onRequestPermissionsResult(int requestCode, String permissions, int grantResults)
switch (requestCode)
case MY_PERMISSION_REQUEST:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
if (ContextCompat.checkSelfPermission(A1.this,
Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
Toast.makeText(A1.this, "Permission Granted", Toast.LENGTH_SHORT).show();
doStuff();
else
Toast.makeText(A1.this, "No Permission granted", Toast.LENGTH_SHORT).show();
finish();






public void doStuff()
arrayList = new ArrayList<>();
ContentResolver contentResolver = getContentResolver();
Uri videoUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
final Cursor videoCursor = contentResolver.query(videoUri, null, null, null, null);

if (videoCursor != null && videoCursor.moveToFirst())
int songTitle = videoCursor.getColumnIndex(MediaStore.Video.Media.TITLE);

do
String currentTitle = videoCursor.getString(songTitle);
arrayList.add(currentTitle);
while (videoCursor.moveToNext());

adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
listView1.setAdapter(adapter);

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
System.gc();
video_column_index = videoCursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
videoCursor.moveToPosition(position);
String filename = videoCursor.getString(video_column_index);
videoView1.setVideoPath(filename);
videoView1.setMediaController(new MediaController(A1.this));
videoView1.requestFocus();
videoView1.start();

);

}






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

ャフサォクコ ケウ,コ,ワ メ,ロスョノ゙,クネ,フムカヤヲニ,エコ゚ツ ウイオン゙ケワサネォキモュキォウイノンコチ゚メヌナイゥフュ,カヒウネェ ネ,ホノケ,ムュキ ッボーミュハ,チ ツス ィ メウイマヤ,゙ウチ ヅ ロ,ォジヌェ ャヌット ェ,マャ,チナエヒネソキツテ トホヲヲミーァ

How do I collapse sections of code in Visual Studio Code for Windows?