gpt4 book ai didi

Android Exoplayer 只播放没有视频的音频

转载 作者:行者123 更新时间:2023-11-29 00:56:28 24 4
gpt4 key购买 nike

我正在访问 Web 上的 mp4 文件 - 它在浏览器中运行良好,但出于某种原因,我似乎只能让音频部分在我的应用程序中工作。任何帮助将不胜感激。

相关 Gradle :

android {
compileSdkVersion 28
minSdkVersion 17
targetSdkVersion 28

compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation "com.android.support:support-compat:28.0.0"
implementation "com.android.support:support-media-compat:28.0.0"
implementation "com.google.android.exoplayer:exoplayer-core:2.7.2"
implementation "com.google.android.exoplayer:exoplayer-ui:2.7.2"
}

布局 View :

<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/playerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="0dp"
android:layout_marginRight="0dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toTopOf="@+id/horizontalHalf"
/>

Fragment中的相关代码:

private SimpleExoPlayer mExoPlayer;
private static MediaSessionCompat mMediaSession;
private PlaybackStateCompat.Builder mStateBuilder;



BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector =
new DefaultTrackSelector(videoTrackSelectionFactory);
LoadControl loadControl = new DefaultLoadControl();
DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(mParentActivity);

mExoPlayer = ExoPlayerFactory.newSimpleInstance(renderersFactory, trackSelector, loadControl);
mPlayerView.setPlayer(mExoPlayer);

mExoPlayer.addListener(this);

DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(mParentActivity, "APP_NAME");
DefaultExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();

MediaSource mediaSource = new ExtractorMediaSource.Factory(dataSourceFactory).setExtractorsFactory(extractorsFactory).createMediaSource(mediaUri);

mExoPlayer.prepare(mediaSource);
mExoPlayer.setPlayWhenReady(true);

最佳答案

天哪,这是个奇怪的东西吗...所以事实证明问题是为应用程序设置背景主题会导致隐藏 exoplayer 显示...

所以即使只定义了这个就足够了。如果我从这里删除背景,一切正常。不过,我仍然不知道如何既显示此视频又并设置了背景...

> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
> <!-- Customize your theme here. -->
> <item name="android:background">@color/colorPrimary</item> </style>

我希望这里有这个可以帮助其他人将来避免这个问题。

关于Android Exoplayer 只播放没有视频的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54451508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com