Rumah > Java > teks badan

Apakah fungsi Java yang boleh saya gunakan pada macOS untuk memainkan bunyi amaran yang sesuai pada volum yang sesuai pada peranti yang sesuai?

王林
Lepaskan: 2024-02-22 12:40:20
ke hadapan
393 orang telah melayarinya

php editor Xiaoxin Dalam java Q&A, seorang pembaca bertanya soalan: "Apakah fungsi Java yang boleh saya gunakan pada macOS untuk memainkan bunyi penggera yang sesuai pada volum yang sesuai pada peranti yang sesuai Soalan ini melibatkan macOS Fungsi menggunakan Java untuk?" mengawal peranti untuk memainkan bunyi penggera pada sistem perlu dilaksanakan bersama dengan perpustakaan pemprosesan audio Java Kaedah operasi dan panggilan fungsi tertentu boleh diselesaikan dengan kajian mendalam tentang pengetahuan pemprosesan audio Java yang berkaitan.

Kandungan soalan

Saya mahu aplikasi Java saya mengikuti tetapan macOS dalam Tetapan Sistem... semasa memainkan bunyi amaran. › Bunyi › Kesan bunyi .

Sebagai contoh, apabila seseorang menekan backspace dan kursor berada di kedudukan paling kiri dalam jTextField, program akan memainkan "bunyi amaran" yang dikonfigurasikan pengguna.

Terdapat keperluan yang sama untuk memainkan bunyi penggera yang sama dalam fungsi lain apl saya. Tetapi saya tidak menemui perpustakaan yang membenarkan apl saya memainkan "bunyi amaran" yang sesuai dengan sistem pada volum yang sesuai pada peranti yang sesuai.

Saya mahu apl saya mengikut tetapan sistem macOS berikut:

  • Bunyi penggera (nama bunyi)
  • Mainkan kesan bunyi melalui (nama peranti)
  • Kelantangan penggera (tetapan gelangsar)

Apa yang perlu saya lakukan?

Penyelesaian

Saya telah mencuba Toolkit.beep pada macos dan nampaknya melakukan apa yang anda mahu. Saya belum mengesahkan bahawa jtextfield memanggil toolkit.beep, tetapi ia nampaknya memanggilnya. Seseorang boleh melihat kod sumber openjdk dan mungkin mendapat idea yang lebih baik.

Pada tingkap, jtextfield nampaknya menggunakan bip lalai. Dan toolkit.bip.

Selagi kit alat lalai berfungsi (yang berfungsi untuk saya), anda boleh meletakkan perkara berikut dalam apl anda di mana-mana yang anda perlukan untuk memaklumkan pengguna.

toolkit tk = toolkit.getdefaulttoolkit();
tk.beep();
Salin selepas log masuk

Ini contoh mcv saya.

import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.Toolkit;
import javax.swing.*;

public class Alert extends JFrame {
   private Toolkit tk = Toolkit.getDefaultToolkit();
   public Alert () {
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JTextField tf = new JTextField();
      JButton bbeep = new JButton(new AbstractAction() {
         public void actionPerformed (ActionEvent e) {tk.beep();}
      });
      setLayout(new BorderLayout());
      getContentPane().add(tf, BorderLayout.NORTH);
      getContentPane().add(bbeep, BorderLayout.SOUTH);
      pack();
      setVisible(true);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() { new Alert(); }
      });
   }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah fungsi Java yang boleh saya gunakan pada macOS untuk memainkan bunyi amaran yang sesuai pada volum yang sesuai pada peranti yang sesuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!