0

ポップアップ時にリストを作成したいのですが、ビデオ/オーディオを再生できるアプリのみを表示します。どうすればいいですか?

再生する特定のファイルはありません。リストからメディア プレーヤーを起動したいだけです。前もって感謝します。以下は、私が興味を持った例です。

ここに画像の説明を入力

4

3 に答える 3

0

それは可能ではありません。(カーネル mod を書かずに)

ソースコード/バイナリで他のアプリをフィルタリングすることはできません。あなたがしたいことのために、アプリがMedia Libsを使用しているかどうかを判断する必要があり、アプリがそれらを使用している場合でも、アプリがオーディオ/ビデオを再生するかどうかはわかりません.

すべてのアプリを一覧表示し、それを実行できるユーザー マークを持つことしかできませんでした。

注: すべてのアプリはオーディオ/ビデオを再生する可能性があります。すべてのメディアプレーヤー アプリを表示する場合は、Intent と MIME を使用する必要があります。

于 2013-09-07T10:31:14.747 に答える
0

オーディオ/ビデオファイルを他のアプリと共有して再生したいと思います。そのためには、インテントを使用する必要があります。

バイナリ データは、ACTION_SENDアクションを適切な MIME タイプの設定と組み合わせて使用​​し、データへの URI をEXTRA_STREAMという名前のエクストラに配置して共有されます。これは一般的にファイルを共有するために使用されますが、あらゆる種類のバイナリ コンテンツを共有するために使用できます。

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToFile);
shareIntent.setType("audio/*");
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_t

詳しくはこちら資料

于 2013-09-07T10:31:48.653 に答える
-1

ListItemどのトリガーがapplication その種類のファイルを開くことができるかを考えてみる必要がありMIMEます。内部にバンドルされたタイプとvideoPath同様に、ダミーを渡すことができます。audioPathMIMEIntent

Intentのクリックでトリガーが必要ですListItem

ListView listView = getListView();
listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
                // Add Video & Audio using If- Else or however you like to so
}
});

ビデオの場合:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(newVideoPath));
intent.setDataAndType(Uri.parse(newVideoPath), "video/*");
startActivity(intent);

オーディオの場合:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(newAudioPath));
intent.setDataAndType(Uri.parse(newAudioPath), "audio/*");
startActivity(intent);

のアプローチを使用することもできますCreateChooser

Intent sI = new Intent();
sI.setAction(Intent.ACTION_SEND);
sI.putExtra(Intent.EXTRA_STREAM, uriToFile);
sI.setType("audio/*");
startActivity(Intent.createChooser(sI, getResources().getText(R.string.text))
于 2013-09-07T10:31:42.203 に答える