Java源码示例:tv.danmaku.ijk.media.player.misc.IjkMediaFormat
示例1
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
int selectedVideoTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_VIDEO);
int selectedAudioTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_AUDIO);
int selectedSubtitleTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT);
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, MediaPlayerCompat.getName(mMediaPlayer));
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
if (index == selectedVideoTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_video_track));
} else if (index == selectedAudioTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_audio_track));
} else if (index == selectedSubtitleTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_subtitle_track));
} else {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
}
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
builder.appendRow2(R.string.mi_language, buildLanguage(trackInfo.getLanguage()));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例2
public void showMediaInfo()
{
if (mMediaPlayer == null)
return;
int selectedVideoTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_VIDEO);
int selectedAudioTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_AUDIO);
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, MediaPlayerCompat.getName(mMediaPlayer));
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution,
buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null)
{
int index = -1;
for (ITrackInfo trackInfo : trackInfos)
{
index++;
int trackType = trackInfo.getTrackType();
if (index == selectedVideoTrack)
{
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " "
+ getContext().getString(R.string.mi__selected_video_track));
}
else if (index == selectedAudioTrack)
{
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " "
+ getContext().getString(R.string.mi__selected_audio_track));
}
else
{
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
}
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
builder.appendRow2(R.string.mi_language, buildLanguage(trackInfo.getLanguage()));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null)
{
}
else if (mediaFormat instanceof IjkMediaFormat)
{
switch (trackType)
{
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate,
mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例3
public static void showMediaInfo(Context context, IMediaPlayer mMediaPlayer) {
if (mMediaPlayer == null)
return;
int mVideoWidth = mMediaPlayer.getVideoWidth();
int mVideoHeight = mMediaPlayer.getVideoHeight();
int mVideoSarNum = mMediaPlayer.getVideoSarNum();
int mVideoSarDen = mMediaPlayer.getVideoSarDen();
int selectedVideoTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_VIDEO);
int selectedAudioTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_AUDIO);
int selectedSubtitleTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT);
//media_information
ULog.d("Player" + MediaPlayerCompat.getName(mMediaPlayer));
ULog.d("Resolution" + buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
ULog.d("Length" + buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
if (index == selectedVideoTrack) {
ULog.d("Stream #" + index + " mi__selected_video_track");
} else if (index == selectedAudioTrack) {
ULog.d("Stream #" + index + " mi__selected_audio_track");
} else if (index == selectedSubtitleTrack) {
ULog.d("Stream #" + index + " mi__selected_subtitle_track");
} else {
ULog.d("Stream #" + index);
}
ULog.d("Type" + buildTrackType(context, trackType));
String language = TextUtils.isEmpty(trackInfo.getLanguage()) ? "und" : trackInfo.getLanguage();
ULog.d("Language:" + language);
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
ULog.d("Codec:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
ULog.d("Profile level:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
ULog.d("Pixel format:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
ULog.d("Resolution:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
ULog.d("Frame rate:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
ULog.d("Bit rate:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
ULog.d("Codec:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
ULog.d("Profile level:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
ULog.d("Sample rate:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
ULog.d("Channels:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
ULog.d("Bit rate:" + mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
}
示例4
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, mMediaPlayer.getClass().getSimpleName());
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例5
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, mMediaPlayer.getClass().getSimpleName());
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例6
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
int selectedVideoTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_VIDEO);
int selectedAudioTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_AUDIO);
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, MediaPlayerCompat.getName(mMediaPlayer));
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
if (index == selectedVideoTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_video_track));
} else if (index == selectedAudioTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_audio_track));
} else {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
}
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
builder.appendRow2(R.string.mi_language, buildLanguage(trackInfo.getLanguage()));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例7
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
int selectedVideoTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_VIDEO);
int selectedAudioTrack = MediaPlayerCompat.getSelectedTrack(mMediaPlayer, ITrackInfo.MEDIA_TRACK_TYPE_AUDIO);
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, MediaPlayerCompat.getName(mMediaPlayer));
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
if (index == selectedVideoTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_video_track));
} else if (index == selectedAudioTrack) {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index) + " " + getContext().getString(R.string.mi__selected_audio_track));
} else {
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
}
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
builder.appendRow2(R.string.mi_language, buildLanguage(trackInfo.getLanguage()));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}
示例8
public void showMediaInfo() {
if (mMediaPlayer == null)
return;
TableLayoutBinder builder = new TableLayoutBinder(getContext());
builder.appendSection(R.string.mi_player);
builder.appendRow2(R.string.mi_player, mMediaPlayer.getClass().getSimpleName());
builder.appendSection(R.string.mi_media);
builder.appendRow2(R.string.mi_resolution, buildResolution(mVideoWidth, mVideoHeight, mVideoSarNum, mVideoSarDen));
builder.appendRow2(R.string.mi_length, buildTimeMilli(mMediaPlayer.getDuration()));
ITrackInfo trackInfos[] = mMediaPlayer.getTrackInfo();
if (trackInfos != null) {
int index = -1;
for (ITrackInfo trackInfo : trackInfos) {
index++;
int trackType = trackInfo.getTrackType();
builder.appendSection(getContext().getString(R.string.mi_stream_fmt1, index));
builder.appendRow2(R.string.mi_type, buildTrackType(trackType));
IMediaFormat mediaFormat = trackInfo.getFormat();
if (mediaFormat == null) {
} else if (mediaFormat instanceof IjkMediaFormat) {
switch (trackType) {
case ITrackInfo.MEDIA_TRACK_TYPE_VIDEO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_pixel_format, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PIXEL_FORMAT_UI));
builder.appendRow2(R.string.mi_resolution, mediaFormat.getString(IjkMediaFormat.KEY_IJK_RESOLUTION_UI));
builder.appendRow2(R.string.mi_frame_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_FRAME_RATE_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
case ITrackInfo.MEDIA_TRACK_TYPE_AUDIO:
builder.appendRow2(R.string.mi_codec, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_LONG_NAME_UI));
builder.appendRow2(R.string.mi_profile_level, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CODEC_PROFILE_LEVEL_UI));
builder.appendRow2(R.string.mi_sample_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_SAMPLE_RATE_UI));
builder.appendRow2(R.string.mi_channels, mediaFormat.getString(IjkMediaFormat.KEY_IJK_CHANNEL_UI));
builder.appendRow2(R.string.mi_bit_rate, mediaFormat.getString(IjkMediaFormat.KEY_IJK_BIT_RATE_UI));
break;
default:
break;
}
}
}
}
AlertDialog.Builder adBuilder = builder.buildAlertDialogBuilder();
adBuilder.setTitle(R.string.media_information);
adBuilder.setNegativeButton(R.string.close, null);
adBuilder.show();
}