I am trying to use the JET music player in Android to create music for my game. I am having trouble installing the eas synth plugin for Sonar 7 which I will use to edit the midi tracks.
I am using this guide to get everything installed so that I can edit my music.
The problem is at point 3.1 Installing the EAS Synth Plugin I am supposed to install EAS synth.dll into the Sonar vst plugin folder.
Where can i find the EAS synth.dll file? It is definitely not included in the SDK! I found a file called EADDLL.dll in the \tools\Jet\JetCreator directory, but Sonar does not recognize it as a plugin.
I think JET and JET creator is ridiculously pour documented by google! Any help regarding JET creator would be appreciated! I'm hoping for some smart guy here who has successfully used jet creator.
I had this problem as well. Very frustrating. The problem is that the included EASDLL.dll file is not actually a VST plugin. I wrote the a VST plugin that does the job and have published it here:
http://www.evanmallory.com/eas_vst/
Give it a try. I hope it will help you out.
*.dll files are for Windows only, the Linux equivalent is *.so, but the JET libraries area already installed on an Android device so you don't need to worry about it. As for Google's documentation, that link is not a Google page, here is the Google Documentation. Here is what it says:
Playing JET content The Android
platform includes a JET engine that
lets you add interactive playback of
JET audio content in your
applications. You can create JET
content for interactive playback using
the JetCreator authoring application
that ships with the SDK. To play and
manage JET content from your
application, use the JetPlayer class.
For a description of JET concepts and
instructions on how to use the
JetCreator authoring tool, see the
JetCreator User Manual. The tool is
available fully-featured on the OS X
and Windows platforms and the Linux
version supports all the content
creation features, but not the
auditioning of the imported assets.
Here's an example of how to set up JET
playback from a .jet file stored on
the SD card:
JetPlayer myJet = JetPlayer.getJetPlayer();
myJet.loadJetFile("/sdcard/level1.jet");
byte segmentId = 0;
// queue segment 5, repeat once, use General MIDI, transpose by -1 octave
myJet.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
// queue segment 2
myJet.queueJetSegment(2, -1, 0, 0, 0, segmentId++);
myJet.play();
The SDK includes an example
application — JetBoy — that shows how
to use JetPlayer to create an
interactive music soundtrack in your
game. It also illustrates how to use
JET events to synchronize music and
game logic. The application is located
at
/platforms/android-1.5/samples/JetBoy.
I guess my question was a bit unclear...
I am trying to edit music on my computer using the music editing program Sonar 7. The music will be used in my game... In order to make the midi files compatible with android devices and JET Creator i need to use the EAS synth plugin for Sonar 7. The problem is that i cant find the "EAS Synth.dll" wich is needed for this. And yes, I have read trough all the documentation wich you are referring to :)
The plugin is described under section 3.1 in the guidelines:
http://www.netmite.com/android/mydroid/1.6/external/sonivox/docs/JET_Authoring_Guidelines.html
Related
I had a small JavaFX application to play some GoPro videos on a windows / linux client. In the past I had using a GoPro 4. I've downloaded the video to the client and play it from the local storage. Like this:
File file = new File("AnyVideo.MP4");
Media m = new Media(file.toURI().toString());
MediaPlayer mp = new MediaPlayer(m);
mp.setAutoPlay(true);
mediaView.setMediaPlayer(mp);
I'll try to switch to the new GoPro 6 now. But it doesn't worked as expected.
The problem is probably that the JavaFX MediaPlayer did not support the codec from the new GoPro 6.
GoPro 4: h264 AVC video codec
GoPro 6: h265 HEVC video codec
The JavaFX MediaPlayer supports only the h264 codec.
Did anyone know a way how I can play a h265 HEVC video with my JavaFX application. In the best case a solution wich can play the video immediatly from the camera without download the video first to the client. The GoPro has a smal Media Server to get the video over HTTP. as example:
http://10.5.5.9:8080/videos/DCIM/100/GPR10973.MP4
Native JavaFX Solution
Perhaps this is a duplicate or at least related to:
Adding other video codecs / DVD support to JavaFX 2.2.
See my answer to that question for links to related feature requests in the JavaFX bug tracker system.
Solutions using non-JavaFX tech from JavaFX
There are other solutions than those discussed in answers to that question which may work for you. Especially if your primary concern is just getting some kind of playback, even if it doesn't have deep integration with the JavaFX media system.
For instance, other approaches than native JavaFX playback could be:
Using VLCJ with some kind of Swing integration (such as a SwingNode, though that may or may not work).
Rendering the VLCJ video into a JavaFX ImageView or Canvas.
See related: Playing Video in Java FX using vlcj api.
Which links to the following project: https://github.com/caprica/vlcj-javafx.
Launch a native video player if you don't need the video embedded.
Perhaps Desktop.open() or the Process API could do this.
Call ffmpeg to convert h265 to h264.
I don't know much about this, but a quick google of the topic shows up references to the xuggle project.
Current status of the xuggler project is:
Xuggler is on hiatus as no one is actively developing it anymore. Sorry. That said, you can always find the source code and start hacking yourself. Good luck!
So I wish you good luck with that ;-)
Launching the native browser through a HostServices.showDocument() call to display the video.
Use a third party browsing component that can be integrated into JavaFX and includes support for the media type you want to play back, for example JxBrowser:
H.265 support in jxbrowser
Of the options outlined above, personally, I would recommend using HostServices to play the video in the native browser if that kind of solution will possibly work for you.
Going into detail on various options is probably out of scope for StackOverflow (even the above list starts looking like a sometimes frowned upon library recommendation).
According to the following:
http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html
In order for JavaFX media to work, the given OS needs proper codecs installed.
In my application, I am trying to play an mp4 video. If the given platform is not able to play it, I display a static image instead.
In such a case, if it is unable to play it, I was expecting it to throw an exception and I would handle it accordingly.
However, it does not do so and instead displays a blank area where the video should be.
How can one detect if the required codec is installed or not?
I was testing this on Windows Server 2008 where I got this symptom. Windows 7, 8, and 10 work as expected.
You don't need to check if the OS has the codec because Java includes most of them (Mpeg-4/mp4 is included), the problem is that window's server edition isn't able to play videos.
I have an Adobe Air project for Android written in ActionScript on Flash Builder. I was wondering if I can somehow make this Air project to a java library so that another of my Android project written in Java on eclipse can use it?
I have been looking into the Adobe Air native extension with Java. But it seems what the native extension doing is to run native Java code in Adobe Air. I want to do the opposite.
I look into JNI but it can be used to call c/c++/assembly, didn't see the approach to call actionscript.
Just found out there may be a way to call Air stand alone project from Java through java.lang.Runtime. But it may take 1-10 sec to open the stand alone Air project. Is there anyway I can integrate Air application into Java?
If I have to call the stand alone project from Java, then the next problem came, my Air stand alone project will play rtmp live stream. However, that needs to have Flash Player which Android/iOS device do not support it. Is there any way to play rtmp rather than using VLC player? I heard VLC player have 1-2 second delay.
Updates:
So someone told me to look into Haxe. It can compile AS3 to jar and Java can use it. http://www.haxe.org
https://forums.adobe.com/thread/1541206
I am prototyping a fairly simple camera app to test out using MediaRecorder to create a custom camera activity with one snag, I want to set the aspect ratio of recorded videos to a 1x1. Through much research I have found that this is only possible by using a library like FFMPEG to crop each frame of the video to the size I desire.
I have read many tutorials and articles on different ways to build FFMPEG into Android, but most of them are either outdated and use older versions of both the Android NDK and FFMPEG, or more recent ones just do not work when followed. I tried following the popular http://www.roman10.net/how-to-build-ffmpeg-for-android/ and a few other similar ones that all lead to an error about a missing pkg-config file because FFMPEG is generally meant to be installed on linux or another OS apparently. I found some information about building FFMPEG in android by using a make-standalone-toolchain.sh file here http://software.intel.com/en-us/android/blogs/2013/12/06/building-ffmpeg-for-android-on-x86 and can't make heads or tails as to how to go about using this method.
This now leads into my question: What is the best/proven way currently to build and use FFMPEG within android applications? If the standalone toolchain method is the way to go, is there any material better than the one listed that is easier to follow? I would even be open to a reliable template application with the FFMPEG Libraries ready to go (if this is possible); although, I would much rather know how to build this into android for future use.
Thank you in advance for any advice or suggestions on this issue.
I have successfully build ffmpeg libraries using
https://code.google.com/p/dolphin-player/
You have to be on Ubuntu to build that.
This is the guide I liked the most: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/
If you need more options, you can take a look at these, which are equally good:
https://github.com/guardianproject/android-ffmpeg
https://github.com/halfninja/android-ffmpeg-x264
https://vec.io/posts/how-to-build-ffmpeg-with-android-ndk
EDIT: I updated the first link with a more recent article (it uses NDK r9).
I've been looking all over the web to find something that allows me to play H264/Mpeg4 videos in java. The videos are recorded on an android device and i would like to attach a java programm to my app that the user can move/copy to his/her harddrive and execute to play the video on the computer (bigger screen, mouse input etc).
I did find xuggler, vlcj, ffmpeg, gstreamer.
They all say that they require some driver etc to be installed on the computer. But i need something that runs in pure java and that can be put into the jar that i will put into my app or website dl.
It has to be as simple as that, user dl the jar and executes and is able to watch the video that is stores on the android device (i realize that it requires the user to have java installed, but thats the only thing i want to burden them with).
Links or tutorials are welcome.
(i work a lot with android but hardly with plain java, so the lack of multimedia abilities is kinda throwing me off balance)
JCodec is a recent project aimed at providing a pure-java implementation of video and audio decoders, worth a try.