java - 学习做一个安卓视频播放器,有一些小问题!忘大家请教
迷茫
迷茫 2017-04-18 10:49:29
0
4
683

最近在学习安卓开发,有一些JAVA基础,想做一个简单的视频播放器,现在卡到了获取视频文件路径这一点上,现在已经会用Mediaplay,video等控件,但是只能每一次在AS中输入程序路径,想能够在程序上去获取本地所有视频路径,然后可以选择播放,可是网上查了很多,很多代码也运行不起也看的不是很懂,所以希望大家能给一个思路,我好在去学习。这个查了快一点了,也没有解决!谢谢大家

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(4)
Peter_Zhu

Deux façons

1. Pour faire simple, appelez le sélecteur de fichiers dans le système pour vous aider à trouver le fichier dont vous avez besoin et vous renvoyer le chemin. Le code est petit et simple.

private void pickFile() {
    Intent intent = new Intent();
    //意图类型过滤,指定视频类型文件
    intent.setType("video/*");
    //意图动作,选取内容
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(intent, 0x01);
}

.
.
.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0x01 && resultCode == RESULT_OK) {
        Uri uri = data.getData();
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        cursor.moveToFirst();
        //获取文件路径
        String path = cursor.getString(1);
    }
}
2. Implémentez votre propre gestionnaire de fichiers et filtrez les types de fichiers dont vous avez besoin en analysant les fichiers sur la mémoire système. C'est un peu plus compliqué et implique

et d'autres points de connaissances majeurs. , si vous voulez bien faire quelque chose, n'ayez pas peur des ennuis et allez simplement le mâcher. ContentResolver,Uri,Cursor,MediaStore,MimeType,Intent

La première méthode vous permet de savoir de quoi il s'agit, et la deuxième méthode vous permet de savoir pourquoi.

Écrivez correctement le mot « wang », pas « oublier ».

La deuxième méthode est de vous donner ces références et de les suivre pour la mettre en œuvre vous-même.

小葫芦

Tout d'abord, résolvez vos doutes sur la façon d'obtenir tous les chemins vidéo locaux. Lorsque le système Android stocke de la vidéo, de l'audio, des images et d'autres ressources, il stocke automatiquement les informations associées dans la base de données. Les informations incluent le nom, la taille, le chemin de stockage, etc. Si nous lisons un certain fichier vidéo, obtenons son chemin de stockage à partir de la base de données, puis récupérons la vidéo elle-même via le chemin. Ensuite, vous devez faire les choses suivantes :
1. Comprendre le nom et le champ de la base de données qui stocke les informations vidéo Android
2. Comprendre la méthode d'obtention des données dans la base de données par Android Regardez le scan Tous les codes des informations vidéo ont été recherchés avec désinvolture. Je ne suis pas sûr qu'ils soient corrects, je vais les commenter pour vous.

private void scanVideoUri(){
        //通过ContentResolver从数据库获取信息,Curse是获取的结果
        Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, 
                        null, null, null, null);
        int totalCount =cursor.getCount();//计算所有结果的条数
        cursor.moveToFirst();//此句一定要有
        //遍历所有的Video信息
        for( int i = 0;i < totalCount;i++){
            String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
            String data1 = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
            String title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.TITLE));
            String type = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));
            int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));
            Log.e(TAG, data+title+type);
            cursor.moveToNext();//访问下一个
        }
    }
    
C'est normal si vous ne comprenez pas le code. Décomposez la cible, puis assemblez-la pour obtenir le résultat final.

阿神

Lisez la base de données du système et recherchez directement toutes les vidéos visibles dans votre liste de vidéos mobiles. Pour une mise en œuvre spécifique, vous pouvez demander à Du Niang~

左手右手慢动作

http://blog.csdn.net/github_3... Ce tutoriel est bon

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!