1import React from 'react'; 2import { Asset } from 'expo-asset'; 3import { ScrollView, StyleSheet, PixelRatio } from 'react-native'; 4import { Audio } from 'expo-av'; 5 6import ListButton from '../../components/ListButton'; 7import HeadingText from '../../components/HeadingText'; 8 9import Player from './AudioPlayer'; 10import AudioModeSelector from './AudioModeSelector'; 11 12export default class AuthSessionScreen extends React.Component { 13 static navigationOptions = { 14 title: 'Audio', 15 }; 16 17 _setAudioActive = (active: boolean) => () => Audio.setIsEnabledAsync(active); 18 19 render() { 20 return ( 21 <ScrollView contentContainerStyle={styles.contentContainer}> 22 <HeadingText>Audio state</HeadingText> 23 <ListButton title="Activate Audio" onPress={this._setAudioActive(true)} /> 24 <ListButton title="Deactivate Audio" onPress={this._setAudioActive(false)} /> 25 <HeadingText>Audio mode</HeadingText> 26 <AudioModeSelector /> 27 <HeadingText>HTTP player</HeadingText> 28 <Player 29 source={{ 30 uri: 31 // tslint:disable-next-line: max-line-length 32 'https://p.scdn.co/mp3-preview/f7a8ab9c5768009b65a30e9162555e8f21046f46?cid=162b7dc01f3a4a2ca32ed3cec83d1e02', 33 }} 34 style={styles.player} 35 /> 36 <HeadingText>Local asset player</HeadingText> 37 <Player 38 source={Asset.fromModule(require('../../../assets/sounds/polonez.mp3'))} 39 style={styles.player} 40 /> 41 </ScrollView> 42 ); 43 } 44} 45 46const styles = StyleSheet.create({ 47 contentContainer: { 48 padding: 10, 49 }, 50 player: { 51 borderBottomWidth: 1.0 / PixelRatio.get(), 52 borderBottomColor: '#cccccc', 53 }, 54}); 55