MSN non-stop MediaPlayer

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
2025-09-02 20:19:35.465 31863-31863 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:35.466 31863-8901 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:35.467 31863-8901 MediaPlayer com.huawei.ascf.sample V resetDrmState: mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false 2025-09-02 20:19:35.467 31863-8901 MediaPlayer com.huawei.ascf.sample V cleanDrmObj: mDrmObj=null mDrmSessionId=null 2025-09-02 20:19:35.467 31863-8901 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:35.468 31863-8901 MediaPlayer com.huawei.ascf.sample V resetDrmState: mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false 2025-09-02 20:19:35.468 31863-8901 MediaPlayer com.huawei.ascf.sample V cleanDrmObj: mDrmObj=null mDrmSessionId=null 2025-09-02 20:19:35.468 31863-8901 MediaPlayerNative com.huawei.ascf.sample I Pid:31863 MediaPlayer destructor MediaPlayer(0x6f39f79e00) 2025-09-02 20:19:39.617 31863-8901 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:39.618 31863-8901 MediaPlayerNative com.huawei.ascf.sample E stop called in state 1, mPlayer(0x0) 2025-09-02 20:19:39.618 31863-8901 MediaPlayerNative com.huawei.ascf.sample D Message: MEDIA_ERROR(100), ext1=Unknown MediaErrorType(-38), ext2=0x0 2025-09-02 20:19:39.618 31863-8901 MediaPlayerNative com.huawei.ascf.sample E error (-38, 0) 2025-09-02 20:19:39.618 31863-31863 MediaPlayer com.huawei.ascf.sample E Error (-38,0) 2025-09-02 20:19:39.619 31863-31863 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:39.619 31863-8901 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:39.620 31863-8901 MediaPlayer com.huawei.ascf.sample V resetDrmState: mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false 2025-09-02 20:19:39.620 31863-8901 MediaPlayer com.huawei.ascf.sample V cleanDrmObj: mDrmObj=null mDrmSessionId=null 2025-09-02 20:19:39.621 31863-8901 MediaPlayer com.huawei.ascf.sample I [HSM] stayAwake false uid: 10524, pid: 31863 2025-09-02 20:19:39.622 31863-8901 MediaPlayer com.huawei.ascf.sample V resetDrmState: mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false 2025-09-02 20:19:39.622 31863-8901 MediaPlayer com.huawei.ascf.sample V cleanDrmObj: mDrmObj=null mDrmSessionId=null 2025-09-02 20:19:39.622 31863-8901 MediaPlayerNative com.huawei.ascf.sample I Pid:31863 MediaPlayer destructor MediaPlayer(0x6f39f79e00)
09-03
在华为 `com.huawei.ascf.sample` 应用中,`MediaPlayer` 出现 `stop called in state 1, mPlayer(0x0)` 以及 `error (-38, 0)` 错误通常是由于调用 `MediaPlayer` 方法的时机不对或者状态错误导致的。以下是一些可能的解决方案: #### 检查 `MediaPlayer` 的状态 `MediaPlayer` 有多个状态,如 `Idle`、`Initialized`、`Prepared` 等,必须在正确的状态下调用相应的方法。例如,在调用 `stop()` 方法之前,需要确保 `MediaPlayer` 处于可以停止的状态,像 `Started`、`Paused` 或 `Prepared` 状态。以下是示例代码: ```java MediaPlayer mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource("your_audio_file_path"); mediaPlayer.prepare(); // 确保处于 Prepared 状态 mediaPlayer.start(); // 在需要停止时 if (mediaPlayer.isPlaying()) { mediaPlayer.stop(); } } catch (IOException e) { e.printStackTrace(); } ``` #### 及时释放资源 在使用完 `MediaPlayer` 后,要及时调用 `release()` 方法释放资源,避免资源泄漏和状态错误。示例代码如下: ```java mediaPlayer.release(); mediaPlayer = null; ``` #### 错误处理和监听 为 `MediaPlayer` 设置错误监听器,捕获并处理可能的错误。示例代码如下: ```java mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { // 处理错误 Log.e("MediaPlayerError", "Error: " + what + ", " + extra); return true; } }); ``` #### 检查文件路径和格式 确保要播放的音频文件路径正确,并且文件格式是 `MediaPlayer` 支持的格式,如 MP3、AAC 等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值