假设你的程序是Java(…为什么你给它三个语言标签?)你有几个选择.您可以使用适当的同步事件,例如:

// fields

Object playerStopEvent = new Object();

boolean isPlaying;

// in your media player, when playback is complete:

synchronized (playerStopEvent) {

isPlaying = false;

playerStopEvent.notifyAll();

}

// elsewhere, when waiting for playback to complete:

synchronized (playerStopEvent) {

while (isPlaying) {

try {

playerStopEvent.wait();

} catch (InterruptedException x) {

// abort or ignore, up to you

}

}

}

mediaPlayer.stop();

有关更多示例,请参阅Guarded Blocks的官方教程.

你也可以让mediaPlayer在完成时调用一些回调,例如在开始播放时禁用GUI组件,并在调用完成的回调时重新启用它们(您也可以在此处使用事件侦听器方法).

没有更多的信息,我推荐后者,因为它不会阻止你在播放器播放时做其他无关的事情(或者让你的程序完全不响应),但前者可能更合适,具体取决于你的情况.

如果它在C或C中,则概念是相同的.使用与第一个选项相同的条件变量/事件,或者对第二个选项使用的任何等效的回调/侦听器/信号槽.

java中while空循环_java – 实现空while循环以保持控制的更好方法相关推荐

  1. JAVA中 fastjson判断JSONObject是否为空,方法isEmpty()

    JAVA中 fastjson判断JSONObject是否为空 package com.map;import com.alibaba.fastjson.JSONObject;/*** 判断JSONObj ...

  2. Java中return结束循环,Java中break、continue、return在for循环中的使用

    Java中break.continue.return在for循环中的使用 发布时间:2020-09-25 02:01:45 来源:脚本之家 阅读:81 作者:mrr 引言:在使用循环的时候,循环里面带 ...

  3. (转)java中对集合对象list的几种循环访问总结

    Java集合的Stack.Queue.Map的遍历 在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一些讲 ...

  4. java中类型的相互转化_Java中的数据类型及相互转换方法

    本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

  5. java中如何判断map是否为空

    java中判断map是否为空的方法是:可以利用isEmpty()函数来判断.isEmpty()函数是java中用于判断某种容器是否有元素的系统库函数,例如用来判断ArrayList.HashSet.H ...

  6. java中的关键字 保留字_java中的标识符、关键字、保留字

    Java中关键字(keyword)和保留字(reservedword) Keyword :Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等. Reserv ...

  7. java中数据类型的等级_Java 数据类型、变量

    Java 数据类型 在 Java 中,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间. 整数类型 (byte.short.int.long) 1.Java 各整数类型有固 ...

  8. java中的基本数据类型_Java中的基本数据类型和引用数据类型

    数据类型用于帮助确定变量可存放的一组值,以及可对这组特定值执行的操作.Java提供了在所有平台上都普遍支持的多种数据类型. 一.基本数据类型 byte:Java中最小的数据类型,在内存中占8位(bit ...

  9. JAVA中常用的逻辑运算符_Java中的常见运算符以及使用

    Java中的运算符有算术运算符.关系运算符.逻辑运算符.赋值运算符.字符串连接运算符.三目运算符等.下面介绍一下这几种. 1.算术运算符 包括:加(+).减(-).乘(*).除(/).取余(%).自加 ...

  10. java中序列化与反序列化_Java中的序列化

    java中序列化与反序列化 Java提供了一种称为序列化的机制,以按字节的有序或字节序列的形式持久化Java对象,其中包括对象的数据以及有关对象的类型和存储在对象中的数据类型的信息. 因此,如果我们已 ...

最新文章

  1. php直接修改excel,php如何修改excel
  2. C#语言中的可访问性约束
  3. android edittext 不可编辑
  4. 在VBA中实现通过Outlook发送邮件
  5. 在单例Bean中依赖原型Bean问题解决
  6. python函数进阶小结_Python 函数3000字使用总结
  7. MFC教程(Visual C++ 6.0)|合集 |更新中
  8. netperf使用笔记
  9. 【FPGA学习笔记】初次使用FPGA硬件编程编程语言Verilog编写HDL程序03
  10. 过程控制第四章到第六章
  11. windows2016服务器优化,Windows server 2016性能调优问题
  12. 阿里云mysql用户名和密码是什么_阿里云服务器数据库账号密码是什么
  13. 家用空气净化器除甲醛什么品牌好 能除甲醛吗
  14. 关于“微笑涛声”博客
  15. python模块cpca修改源码支持国外地址解析
  16. 严版数据结构(第一章)
  17. android studio中的文本替换
  18. 云计算机渲染效果,什么是云渲染?云渲染这么用?
  19. Serdes系列总结——Xilinx serdes IP使用(一)——3G serdes
  20. C++基础知识与开发环境【修订版】

热门文章

  1. “编程能力差,90%输在了数学上!”骨灰级开发:其实你们都是瞎努力!!
  2. Ruby 之父:编程要给程序员带来乐趣
  3. 为什么持续集成和部署在开发中非常重要?
  4. 酷炫的VR选座,阿里大麦背后的技术堪称豪华
  5. IPv6 带来的反欺诈难题,程序员该如何破解?
  6. 程序员如何在 HTTPS 中高效配置通配符证书?| 技术头条
  7. 浪潮云海OS C位出道,融合开放基础设施呼之欲出
  8. Android 开发工程师自述:毕业两年后,我明白的那些事!
  9. 邪恶的编码魔咒,你中招没?
  10. Visual Studio 2017 15.4 正式发布,那些你必须知道的新特性!