You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI应用中Android MediaPlayer仅在Release模式物理设备崩溃

MAUI Android MediaPlayer Release物理设备崩溃问题解决

问题场景

封装的Android平台MediaPlayer类在以下环境可正常运行:

  • Debug模式:物理设备、模拟器
  • Release模式:模拟器
    但物理设备的Release模式下启动即崩溃,通过adb logcat捕获到包含java.lang.IllegalStateException的异常堆栈。

初始封装代码

public class AndroidAudioPlayer
{
    private readonly MediaPlayer player;

    private readonly MemoryStream stream;

    internal AndroidAudioPlayer(Stream audioStream)
    {
        this.player = new MediaPlayer();
        this.stream = new MemoryStream();
        audioStream.CopyToAsync(this.stream);
        var mediaDataSource = new StreamMediaDataSource(this.stream);
        this.player.SetDataSource(mediaDataSource);
        this.player.Looping = true;
        this.player.Prepare();
    }
}

排查与解决步骤

  • 第一阶段优化:将代码改为全异步实现,并在项目文件中添加配置:
    <AndroidEnableMarshalMethods>false</AndroidEnableMarshalMethods>
    
    修改后,通过Visual Studio直接部署到物理设备Release模式、dotnet publish生成的APK安装运行均恢复正常,但Google Play Store渠道部署的版本仍崩溃。
  • 最终解决:重启手机并清理Google Play Store缓存,重新从Play Store安装后,应用恢复正常。

内容的提问来源于stack exchange,提问作者Julien Debache

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:22:09