- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在代码库中我们继承了MediaTracker的用法始终在每个代码块中本地完成。
new MediaTracker(new Canvas());
mediatracker.addImage(i, 1);
try {
mediatracker.waitForAll();
} catch (InterruptedException e) { }
mediatracker.removeImage(i);
确定这是低效的,我最终用静态实例和方法替换了它:
final static protected MediaTracker mediatracker = new MediaTracker(new Canvas());
static protected void checkImageIsReady(Image i) {
mediatracker.addImage(i, 1);
try {
mediatracker.waitForAll();
} catch (InterruptedException e) { }
mediatracker.removeImage(i);
}
到目前为止,没有任何不良影响。
还有另一种可能的方法 - 将 MediaTracker 附加到每个组件(通常是 Frame 或 JFrame),constructor documentation 强烈暗示要采用这种方法。 .
所以我有两个问题:
如何以及为何使用 MediaTracker?
还有什么选择?
最佳答案
MediaTracker 在 1995 年很有用。当时 Java 的主要 GUI 使用是 Applets,而 Applets 通常会通过网络缓慢加载图像。
为了让 Applet 编写者更容易,java 为我们提供了一个很好的 MediaTracker api,它可以在后台下载图像,跟踪它们何时完成,甚至在图像为 partially loaded 时发出通知。 . MediaTracker API 意味着 Applet 编写者不必在图像缓慢下载时阻止应用程序,也不必编写复杂的线程代码来在后台线程中加载图像。
现在您通常可以同步加载图像,最好使用 ImageIO .对于从本地文件系统加载图像的常见情况尤其如此。
关于java - MediaTracker - 如何使用它,有什么好处,或者有替代品吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045214/
我有几个音轨,是从 getUserMedia(麦克风)获得的。这些正在通过 WebRTC 传输。我想突出显示当前处于事件状态的流,但要查看 MediaTrack 的文档我找不到任何方法来访问允许我确定
我有 3 个关于我的动画项目的问题。 程序的结构是否正确(见下文) 我的第一张图像(来自数组)表现不正常。有时它会弹出然后消失,然后其余图像会正确显示。 如何控制音频剪辑何时开始播放。有时听起来就像一
在代码库中我们继承了MediaTracker的用法始终在每个代码块中本地完成。 new MediaTracker(new Canvas()); mediatracker.addImage(i, 1);
我有一个基于 Swing 的金融代码,它将显示一个金融符号、价格变动和每个柜台/公司的向上或向下箭头。 此代码可以有很多计数器(最多 100 个),并且需要缓存图像符号以提高性能。 我试过按照这个ar
我是一名优秀的程序员,十分优秀!