这可能是一个愚蠢的问题,但是如何正确导入pixi-sound?
我的问题是:
import * as PIXI from "pixi.js";
import PIXI_SOUND from "pixi-sound";
const EFFECT_SOUNDS = [...list of music]
for (let name in EFFECT_SOUNDS) {
PIXI.Loader.shared.add(name, EFFECT_SOUNDS[name]);
}
... more logic
PIXI.Loader.shared.load(function(loader, resources) {
if (resources[sound]) {
// this is where the issue is
resources[sound].sound.play();
resources[sound].sound.speed= 0.5;
}
});
resources[sound].sound.play
上方的代码以及exist
,speed
,stop
等其他属性不存在。
我尝试将代码更改为:
import * as PIXI_SOUND from "pixi-sound";
但这不起作用。
我也尝试过PIXI_SOUND.Loader
,但这会引发错误。
答案 0 :(得分:2)
这对我有用
import * as PIXI from 'pixi.js';
window.PIXI = PIXI; // this seems optional
import 'pixi-sound';
答案 1 :(得分:0)
如果您使用的是@inlet/react-pixi,则可以这样导入
import { Container, withPixiApp } from '@inlet/react-pixi';
import { default as PIXI_SOUND } from 'pixi-sound';
PIXI_SOUND.add(key, {
url: url,
preload: true,
loaded: (err, sound) => {
if (err) {
console.warn(`load sound ${key} - ${url} error: ${err}`)
} else {
console.log(`loaded sound ${key} - ${url}: ${sound.duration} seconds`)
}
}
})