Want to play audio, video, or multimedia in a Java application? QuickTime for Java opened the door to Apple's extensive QuickTime library, but times are changing and QTJ seems headed for deprecation. In fact, Apple is pushing Mac developers away from the old procedural-C QuickTime API altogether. In its place is a new object-oriented, Cocoa-aligned framework called QTKit. Great for Objective-C programmers, but what about the Java crowd? The Keaton project, something of a successor to Lloyd, will create a one-to-one mapping of Java objects to Obj-C objects, so you can work with QTMovies and QTMovieViews directly in Java code. Come see this talk to see how it works and how you can use it in your Mac Java application.
Slides of this presentation are available as a PDF file.
Not meant to be funny
2008-01-13 15:57:45 chrisadamson
[Reply | View]
I'm sorry you seem to think I'm somehow responsible for the quiet neglect of QTJ, but that's Apple's decision, and as it's based on deprecated APIs like QuickDraw and SoundManager, and hasn't been updated to remove those dependencies, QTJ clearly isn't a good choice for new work going forward. That's why Apple is pushing QTKit for new media app development, although that obviously overlooks a lot of functionality not yet exposed by QTKit ,and isn't cross-platform.
Can I ask you a question about why you're so interested in z-order stuff? Is it that you're in a Swing GUI where the movie is blasting through a lightweight container -- like, say, a heavyweight QTComponent in a JTabbedPane -- or are you trying to draw something on top of the video? If it's the latter, particularly in the common case of just wanting to put a "badge" or a "banner" on top of video, it's probably better to look for solutions that stay entirely within the QuickTime realm -- such as adding a one-sample video track at a higher z-order position than your other video track(s), or even just using SMIL to stack your elements -- than to be hacking into the Java rendering pipeline via Swing.
Frankly, if you're having serious problems, and if there are any dollars behind your development (and if your time is worth anything), then better than yelling at me would be to use one of your ADC tech support incidents (buy one if you don't get them at your level or have used all of yours) and get Developer Technical Support to take a look at your code and help you out. When I had a severe problem with QTJ capture, they isolated and filed multiple bugs, and provided me with a workaround.
NOT VERY FUNNY CHRIS
2008-01-13 13:21:31 ceckhardt
[Reply | View]
I REALLY don't appreciate these words regarding the deprecation of QTJ, Chris my man. Especially after I've struggled for hours upon end to make z-order actually work with a QTComponent in pure AWT and pure SWING and mixed too. It simply doesn't work, and I just bought your old book on QTJ released in 2005, as though it might shed light on this problem; but NOPE. No cigar. Then I went out and bought a SWING book to learn all about glass panels, layered panels, etc... NOTHING works so far -- even on my MAC OS X 10.4 laptop.