React Native Track Player (앱에서 오디오파일 재생하기)
2023. 4. 27. 09:06ㆍReact-native
React-Native Track Player
설치
npm install react-native-track-player
or
yarn add react-native-track-player
IOS = cd ios && pod install
사용법
import TrackPlayer from 'react-native-track-player';
// ...
TrackPlayer.setupPlayer().then(() => {
// TrackPlayer를 사용할 준비가 됨
});
TrackPlayer.add({
id: 'trackId', // 재생할 오디오의 아이디 (임의 값)
url: require('path/to/track.mp3'), // 재생할 오디오의 파일
title: 'Track Title', // 재생할 오디오의 타이틀 (제목)
artist: 'Track Artist', // 아티스트 이름
artwork: require('path/to/artwork.png') // 해당 앨범의 이미지
});
setupPlayer()로 준비가 완료되었을 때
TrackPlayer.play(); // 오디오를 재생함
TrackPlayer.pause(); // 중지함
TrackPlayer.skipToNext(); // 다음 트랙으로 넘어감
TrackPlayer.skipToPrevious(); // 이전 트랙으로 감
이벤트리스너 제공
// service.js
module.exports = async function () {
try {
TrackPlayer.addEventListener('remote-play', () => {
TrackPlayer.play()
})
TrackPlayer.addEventListener('remote-pause', () => {
TrackPlayer.pause()
});
TrackPlayer.addEventListener('remote-next', () => {
TrackPlayer.skipToNext()
});
TrackPlayer.addEventListener('remote-previous', () => {
TrackPlayer.skipToPrevious()
});
TrackPlayer.addEventListener('remote-stop', () => {
TrackPlayer.destroy()
});
} catch (error) {
console.error(error, 'eventListener ERROR')
}
}
State (재생에 관련 된 현재의 상태를 가져옴)
const state = await TrackPlayer.getState();
console.log(state); // 상태 값
이름 | 설명 |
---|---|
None | 현재 로드된 미디어가 없음을 나타내는 상태 |
Ready | 플레이어가 플레이를 시작할 준비가 되었음을 나타내는 상태 |
Playing | 플레이어가 현재 재생 중임을 나타내는 상태 |
Paused | 플레이어가 현재 일시 중지되었음을 나타내는 상태 |
Stopped | 플레이어가 현재 정지되었음을 나타내는 상태 |
Buffering | 플레이어가 현재 버퍼링 중임을 나타내는 상태("재생" 상태) |
Connecting | 플레이어가 현재 버퍼링 중임을 나타내는 상태("일시중지" 상태) |
'React-native' 카테고리의 다른 글
[RN] react-native-dotenv에서 개발환경에 따른 빌드 방법 (0) | 2024.02.26 |
---|---|
React-native 기본 세팅 템플릿 만들기 (0) | 2023.07.22 |
[❗️Issue❗️] ViewPropTypes ERROR (0) | 2023.04.26 |
React-native에서 이미지 로딩 걸기 (0) | 2023.04.25 |
React-native-iap (인앱결제 모듈 간단하게 메서드 정리) (0) | 2023.04.24 |