React-Cnive-Track-Player на Android: компактный игрок не появляетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 React-Cnive-Track-Player на Android: компактный игрок не появляется

Сообщение Anonymous »

уже прошел около миллиона учебных пособий, вопросов Stackoverflow и т. Д., Но для жизни я не могу найти то, что делаю не так. Play/Pause/Stop работает нормально, но игрок «Компактный экран" уведомления/блокировки "на Android не появляется, независимо от того, что я пытаюсь. (Can't test on iOS)
  • Expo 52.0.23 development build
  • React Native 0.76.9, OLD architecture (according to this Github comment that should work)
  • Testing on: Pixel 9 with Android 15
What am I Отсутствует?

Код: Выделить всё

import Feather from "@expo/vector-icons/Feather";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { NavigationContainer } from "@react-navigation/native";
import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context";
import { s } from "./App.style";
import {
PAGE_NAME_AUDIO,
} from "./Constants";
import { AudioPage } from "./pages/AudioPage/AudioPage";
import PlaybackService from "./PlaybackService";
import TrackPlayer from "react-native-track-player";

const Tab = createBottomTabNavigator();
const navTheme = { colors: { background: "#1c1c1c" } };

export default function App() {
TrackPlayer.registerPlaybackService(() => PlaybackService);

return (



 ({
headerStyle: { backgroundColor: "black" },
headerTintColor: "#fff",
headerTitleStyle: { fontSize: 30 },
tabBarIcon: ({ color, size }) => {
let iconName = "headphones";
return ;
},
tabBarActiveTintColor: "gold",
tabBarInactiveTintColor: "gray",
tabBarItemStyle: s.tabBarItem,
tabBarLabelPosition: "beside-icon",
tabBarLabelStyle: s.tabBarLabel,
})}
>





);
}< /code>
< /div>
< /div>
< /p>
[b] preppackservice.js[/b]>import TrackPlayer, { Event } from "react-native-track-player";

export default async () => {
TrackPlayer.addEventListener(Event.RemotePlay, () => TrackPlayer.play());
TrackPlayer.addEventListener(Event.RemotePause, () => TrackPlayer.pause());
TrackPlayer.addEventListener(Event.RemoteStop, () => TrackPlayer.stop());
};< /code>
< /div>
< /div>
< /p>
[b] audiopage.jsx[/b]>import FontAwesome6 from "@expo/vector-icons/FontAwesome6";
import { useEffect } from "react";
import { TouchableOpacity, View } from "react-native";
import TrackPlayer from "react-native-track-player";
import { s } from "./AudioPage.style";

const BTN_ICON_SIZE = 50;

export function AudioPage({}) {
useEffect(() =>  {
console.log("init track player");
initTrackPlayer();
}, []);

async function initTrackPlayer() {
console.log("setup player");
await TrackPlayer.setupPlayer();
console.log("update options");
TrackPlayer.updateOptions({
android: {
appKilledPlaybackBehavior: AppKilledPlaybackBehavior.PausePlayback,
},
capabilities: [
TrackPlayer.CAPABILITY_PLAY,
TrackPlayer.CAPABILITY_PAUSE,
TrackPlayer.CAPABILITY_STOP,
],
compactCapabilities: [
TrackPlayer.CAPABILITY_PLAY,
TrackPlayer.CAPABILITY_PAUSE,
TrackPlayer.CAPABILITY_STOP,
],
notificationCapabilities: [
TrackPlayer.CAPABILITY_PLAY,
TrackPlayer.CAPABILITY_PAUSE,
TrackPlayer.CAPABILITY_STOP,
],
});
}

async function play() {
//initTrackPlayer();
const track = {
url: require("../../assets/test.mp3"),
title: "Test",
artwork: require("../../assets/icon.png"),
duration: 29,
};
await TrackPlayer.add([track]);
TrackPlayer.play();
}

async function pause() {
TrackPlayer.pause();
}

async function stop() {
TrackPlayer.reset();
}

return (











);
}


(p.s. не связан с "обзором кода" также приветствуется - это мой первый проект JavaScript)

Подробнее здесь: https://stackoverflow.com/questions/796 ... -appearing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»