gpt4 book ai didi

java - 如何在单击按钮播放 Jfugue 时调用 Java 类

转载 作者:行者123 更新时间:2023-12-01 10:35:07 24 4
gpt4 key购买 nike

当我只运行 java 文件时,它会产生声音。我现在想要单击按钮来调用 java 文件并在 eclipse 中产生声音。

这是我的 Java 代码:

import org.jfugue.player.Player;

public class HelloWorld {
public static void main(String[] args) {
Player player = new Player();
player.play("C D E F G A B");
}
}

还有我在 Eclipse 中的 MainActivity.java:

public class MainActivity extends ActionBarActivity implements    View.OnClickListener { 

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener((OnClickListener) this);
}

@Override
public void onClick(View arg0) {
// CODE HERE???
}
}

最佳答案

是的,但这主要取决于您的应用程序的功能或您想要实现/应用的具体设计。

我预见了两种选择,但由于我不知道有关应用程序的更多细节,所以我不会提出任何建议,只是引用它们:

A) 如果涉及类中的方法,您首先必须创建该类的新实例,然后从新创建的实例中调用该函数。

那就是这样的:

public void onClick(View v) {
BasicFunctions functions = new BasicFunctions();
functions.play();
}

BasicFunctions.java 文件中,有一个 play 方法,例如:

public void play() {
//functionality to play the file
}

B) 您始终可以定义 static方法以绕过创建额外的实例:

public void onClick(View v) {
BasicFunctions.play();
}

BasicFunctions.java 文件中,有一个 play 方法,例如:

public static void play() {
//functionality to play the file
}

但这始终取决于您以及您想要实现的目标。

<小时/>

编辑

看来您刚刚获得了 JFugue 网站的 HelloWorld 示例,并尝试将其与您的 Android 应用程序结合起来。但是,我预见到它会出现很多问题,其中之一可能是您问题的根本原因。

首先,我不知道这个库,但是对于纯 Java,HelloWorld 示例似乎按预期工作(而不是一个小错误,我认为该错误仅存在于我的本地机器),我可以听到声音。现在,根据您尝试完成Android操作系统的库的调整,事情并不那么容易,所以我建议使用enter link description here ,该库的Android移植项目。

该项目仍然没有提供任何使用示例(因此,如果解决您的问题,您可以将其 fork 并提供一个,如果您愿意的话,因为它将对将来的引用(例如您的引用)非常有帮助),但是它的wiki pages似乎解释得很清楚:

enter image description here

此外,作为上述项目的旁注,请查看 this回答。

关于java - 如何在单击按钮播放 Jfugue 时调用 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com