返回介绍

3.7 release

发布于 2024-12-23 21:17:30 字数 710 浏览 0 评论 0 收藏 0

MeidaPlayer 对应 jni 中的 android_media_MediaPlayer_release 方法:

static void
android_media_MediaPlayer_release(JNIEnv *env, jobject thiz)
{
  ALOGV("release");
  decVideoSurfaceRef(env, thiz);
  sp<MediaPlayer> mp = setMediaPlayer(env, thiz, 0);
  if (mp != NULL) {
    // this prevents native callbacks after the object is released
    mp->setListener(0);
    mp->disconnect();
  }
}

setListener 注释中说的很明白了,就是把 listener 置空。diconnect 这里是断开了了和 mediaserver 的连接。

void MediaPlayer::disconnect()
{
  ALOGV("disconnect");
  sp<IMediaPlayer> p;
  {
    Mutex::Autolock _l(mLock);
    p = mPlayer;
    mPlayer.clear();
  }
  if (p != 0) {
    p->disconnect();
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文