android - JetCreator 是否仍在维护(和/或 JETPlayer 是否已弃用?)

标签 android wxpython android-mediaplayer

我的 Android 应用程序需要多个音乐 track 同时同步播放(例如,鼓音轨和人声音轨一起播放,但可以单独静音)。 SoundPool 的努力毫无结果——即使我在连续的两行中调用 SoundPool.play(),也总是会引入可察觉的延迟。

JetPlayer类似乎非常适合我的需要,但似乎也没有人在使用它——文档最后一次更新是四年前,维护者的网站已经关闭,相关的JetCreator该工具无法在现代版本的 Python、wxPython(因 wxPython C++ 断言而崩溃)上运行,没有明显的解决方法/常见问题解答。

问题:JetPlayer/JetCreator 是放弃软件,还是我应该继续努力让它运行?

推论:如果它仍在使用中,有人可以就以下 wxPython 错误提出建议吗?

  File "/usr/local/lib/wxPython-3.0.0.0/lib/python2.7/site-packages/wx-3.0-osx
  _cocoa/wx/_gdi.py", line 5317, in __init__
     _gdi_.AutoBufferedPaintDC_swiginit(self,_gdi_.new_AutoBufferedPaintDC(*args, **kwargs))
wx._core.PyAssertionError: C++ assertion "window->MacGetCGContextRef() != NULL" 
failed at /BUILD/wxPython-src-3.0.0.0/src/osx/carbon/dcclient.cpp(195) in wxPaintDCImpl(): using wxPaintDC without being in a native paint event

最佳答案

由于您的问题已经很老了,我希望我的回答仍然对您或其他任何人有所帮助。

为 JET Creator 安装 Python

由于较新版本的 python 不支持读取 JETCreator,因此请使用:

  • Python 版本 2.5.4 (python-2.5.4.msi)
  • wxPython 2.8 (wxPython2.8-win32-unicode-2.8.7.1-py25.exe)

按照这个教程 http://www.tutorialspoint.com/android/android_jetplayer.html 用于安装 python 和 wxpython。 安装 Python 和 JETCreator 可能非常棘手,因此您必须非常小心。 我必须多次尝试它才能正常工作。

然后您可以从 github 或其他任何地方下载 DEMo-Data! JETCreator 读取 MIDI 文件并生成 JETfiles

在 JETCreator 中,您现在可以为轨道设置静音标志。 您必须记住静音标志的“十进制数”,因为它们代表静音轨道的“二进制数”。您必须将此编号实现到您的 Android 项目中。

在 Eclipse 中使用您创建的数据:

加载数据

    mJet = JetPlayer.getJetPlayer();
    mJet.setEventListener(this);
    AssetFileDescriptor afd = this.getResources().openRawResourceFd(R.raw.demo);
    mJet.loadJetFile(afd);

调用 JETplayer

    mJet.clearQueue();
    mJet.queueJetSegment(0, 0, -1, 0, 0, (byte) 0);
    mJet.play();

设置静音标志,例如:在 OnClickListener 上

    mJet.setMuteFlags(0b1110, false); //0b1110 = 14       

停止时释放你的 JETPlayer

    mJet.release();

如有任何问题,请随时提出!

PS:MIDI文件不支持“人声”,因此无法播放人声。

关于android - JetCreator 是否仍在维护(和/或 JETPlayer 是否已弃用?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930234/

相关文章:

Android Stripe 应用程序在添加新支付来源时崩溃

java - 为什么ImageView的getX、getY、setX、setY在RelativeLayout中不代表实际值?

java - 我如何从速度计应用程序中找到高速?

python - 如何在 Ubuntu 14.10 上的 Python 2.7 virtualenv 中安装 wxPython 3.0.1.1?

android - 无法创建媒体播放器(使用 url)

android - 功能测试 : calls to MediaPlayer

java - LibGdx 摧毁一个 body

Python:无限循环和 GUI

wxpython - 如何在 wxpython 中将小部件添加到文件对话框?

android - 如何使用新的 MediaCodec getInputBuffer(int index)