我正在尝试在 ViewPager 内的 RecyclerView 中播放多个 (10) ExoPlayer(在三星 Galaxy Note9 上运行),并且在向右和向左滑动足够多的次数后,我遇到了异常并且玩家(抛出异常)停止播放。
你可以在这里看到一个专门的简单项目:https : //github.com/matanmarciano/MultiplePlayers.git
我的预期结果是 1。永远向左、向右、向上和向下滑动,玩家继续玩。2. 每个流的单个 ExoPlayer(带有 videoUrl)适用于所有应用程序生命周期(我已经实现了)
例外情况是:
2019-09-12 17:19:20.780 21989-22074/com.matanmarciano.multipleplayers E/ExoPlayerImplInternal: Internal runtime error.
java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2635)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:972)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:653)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:575)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:326)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:214)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-09-12 17:19:20.784 21989-22074/com.matanmarciano.multipleplayers E/ExoPlayerImplInternal: Disable failed.
java.lang.IllegalStateException
at android.media.MediaCodec.native_flush(Native Method)
at android.media.MediaCodec.flush(MediaCodec.java:2131)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:701)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.flushOrReleaseCodec(MediaCodecVideoRenderer.java:605)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:581)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:451)
at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:158)
at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1078)
at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:844)
at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:806)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:399)
at android.os.Handler.dispatchMessage(Handler.java:102)
at …Run Code Online (Sandbox Code Playgroud) android android-viewpager exoplayer android-recyclerview android-mediacodec
我试图安装Xamarin.Firebase.Messaging我收到此错误:
无法安装软件包'Xamarin.Firebase.Messaging 42.1001.0'.您正在尝试将此软件包安装到以".NETPortable,Version = v4.5,Profile = Profile259"为目标的项目中,但该软件包不包含与该框架兼容的任何程序集引用或内容文件.有关更多信息,请与软件包作者联系.
我尝试将目标配置文件更改为78,没有任何事情发生.
谢谢你的帮忙!
我开发了一个与Xamarin.Forms(MVVM设计模式)的聊天应用程序.我需要在发送消息后自动向下滚动ListView(聊天消息列表).
我的看法:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
...>
<ContentPage.Content>
<StackLayout Style="{StaticResource MainLayoutStyle}">
...
<Frame
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
CornerRadius="5"
BackgroundColor="White"
Padding="5">
<ScrollView>
<StackLayout>
<ListView
x:Name="MainScreenMessagesListView"
ItemTemplate="{StaticResource MessageTemplateSelector}"
HasUnevenRows="True"
BackgroundColor="#e5ddd5"
ItemsSource="{Binding Messages}">
</ListView>
</StackLayout>
</ScrollView>
</Frame>
...
</StackLayout>
</ContentPage.Content>
Run Code Online (Sandbox Code Playgroud)
由于我的设计模式,我不能使用ScrollTo方法(我是对的吗?)并且xaml中没有ScrollTo属性.
那么这个问题的解决方案是什么?
谢谢!