0
尝试使用https://github.com/joshwcomeau/redux-sounds播放声音文件,但我无法正常工作。以下是我用来设置它的相关代码。我不知道webpack是不是正确加载它们或其他东西。我怎么知道他们是否正确加载?任何想法如何让这个工作?没有控制台的错误,除了铬说,它不能解码音频,但这显然是错误的,并没有出现,当我在Firefox尝试它。无法播放声音文件
configureStore.js
//...
import soundsMiddleware from 'redux-sounds';
const soundsData = {
barks: {
urls: ['data/barkSprite.wav', 'data/barkSprite.mp3'],
sprite: {
shortBark: [0, 500],
longBark: [600, 1250]
}
}
};
const loadedSoundsMiddleware = soundsMiddleware(soundsData);
//...
export default function configureStore(initialState) {
const store = createStore(
rootReducer,
initialState,
compose(
applyMiddleware(thunk, router, logger, loadedSoundsMiddleware),
DevTools.instrument(),
persistState(
window.location.href.match(
/[?&]debug_session=([^&]+)\b/
)
)
)
);
//...
actions.js
export const SHORT_BARK = 'SHORT_BARK';
export function shortBark() {
return {
type: SHORT_BARK,
meta: { sound: 'barks.shortBark' }
};
}
webpack.config.js
resolve: {
extensions: ['', '.js', '.jsx', '.scss', '.mp3'],
},
module: {
loaders: [
{
test: /\.mp3$/,
loader: 'file-loader'
},
]
}
检查您的网络选项卡在Chrome检查器 - 有任何错误的URL试图加载声音?此外,你并没有在这里使用webpack,webpack意味着你需要像其他Javascript文件那样的文件,比如require('../ relative/path/to/data/barkSprite.wav')'。进一步阅读:http://blog.andrewray.me/webpack-when-to-use-and-why/ –