我正在使用 react-native-audio-recorder-player 录制和播放音频。如果我在播放音频时关闭应用程序,音频仍在播放。但实际上我在 stopAudio()
中调用了 componentWillUnmount()
。但我注意到 componentWillUnmount()
在应用关闭时没有被调用。
我想知道两件事
1.应用关闭时会调用componentWillUnmount()
吗?如果没有
2.有什么办法可以通过编程方式知道应用程序已关闭?
答案 0 :(得分:0)
在这种情况下不能使用 componentWillUnmount()
,关闭应用程序时不会调用此函数。
我认为您可以使用 react native appstate
或者您可以使用自定义钩子来停止音频 click here
import React from 'react';
import { Text, View } from 'react-native';
import useAppState from 'react-native-appstate-hook';
export default function App() {
const { appState } = useAppState({
onChange: (newAppState) => console.warn('App state changed to ', newAppState),
onForeground: () => console.warn('App went to Foreground'),
onBackground: () => stopAudio(),
});
return <View/>
}