メディアストアからオーディオとビデオの両方を表示するリストを作成しようとしています。ただし、そのようなクエリを作成する方法がわかりません。オーディオとビデオの両方の情報を同時に取得することさえ可能ですか?
したがって、ビデオとオーディオを照会するには、次のようにします。
String[] projV = { MediaStore.Video.Media._ID,
MediaStore.Video.Media.DATA,
MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.DURATION,
MediaStore.Video.Media.DATE_TAKEN };
Cursor videoCursor = getActivity().managedQuery(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projV, null,
null, null);
String[] projA = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.MIME_TYPE,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.DATE_ADDED };
Cursor audioCursor = getActivity().managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projA, null,
null, null);
CursorJoiner
またはの使用を検討しましMergeCursor
たが、これらの使用方法や、正しい解決策でさえ確信が持てません。
私の質問は次のとおりです。オーディオとビデオの両方の情報を含むカーソルを返す mediaStore のクエリを作成する方法はありますか、または or を使用するなど、より複雑なものが必要ですCursorJoiner
かMergeCursor
。
最初に述べたように、私の目標は、メディアストア内のすべてのオーディオとビデオを表示するリストを作成することです。これは正しいアプローチですか、それとも間違った角度から見ているのでしょうか?
ありがとう。