Добавление звука (ов) по щелчку мыши - PullRequest
0 голосов
/ 01 октября 2019

Я создаю вспомогательное расширение GNOME для моей темы. Вспомогательное расширение предназначалось для добавления некоторых звуков при нажатии кнопки, однако я не могу найти решение (и расширение), которое показывает, как добавлять звуки и как их вызывать.

На самом деле я нашел несколько вопросов и статей, в которых объясняется, как добавить аудиофункцию, но для большинства из них требуется HTML.

Я пытался использовать этот код (с помощью Looking Glass и файла extension.js)из здесь , что говорит о том, что он не требует HTML-элементов:

function playSound() {
    var audio = new Audio('/path/to/audio/file');
    audio.play();
}

Однако он возвратил неизвестную ошибку функции для Audio ():

ReferenceError: Audio is not defined

Кто-нибудь может мне помочь? Спасибо!

1 Ответ

0 голосов
/ 01 октября 2019

Если вы используете GNOME Shell> = 3.32, вы можете использовать MetaSoundPlayer:

const Gio = imports.gi.Gio;

let player = global.display.get_sound_player();

// Themed sound
player.play_from_theme('phone-incoming-call', 'arbitrary description', null);

// Sound File
let soundFile = Gio.File.new_for_path('/some/path/sound.ogg');
player.play_from_file(soundFile, 'arbitrary description', null);

Или есть глобальные функции в GNOME Shell <= 3.30 (<a href="https://developer.gnome.org/shell/3.24/shell-shell-global.html#shell-global-play-theme-sound" rel="nofollow noreferrer"> старые документы ):

// Themed sound
global.play_theme_sound(0, 'phone-incoming-call', 'arbitrary description', null);


// File name
global.play_sound_file(0, '/some/path/sound.ogg', 'arbitrary description', null);

Существует коммит gnome-shell, показывающий примеры обоих здесь .

...