با سلام میخوام بدونم برای کار با فایل هایی صوتی در react native از چه کتابخونه ای باید استفاده کنم مثال عملی هست ؟ react native sound چیه چجوری کار میکنه؟ میخوام بصورتی ک در فیلم مربوط به flatlist گفته شد فایلهای صوتیو بگیرم امکان پذیره چنین چیزی؟
سلام بله میتونید از react-native-sound استفاده کنید در لینک زیر یک دمو وجود داره برای این ابزار که کاملا کاری که شما میخواید رو نشون میده
https://github.com/zmxv/react-native-sound-demo
import Sound from 'react-native-sound'
class RemoteSound extends Component {
playTrack = () => {
const track = new Sound(file name , null, (e) => {
if (e) {
console.log('error loading track:', e)
} else {
track.play()
}
})
}
render() {
const { image} =this.props;
return(
<View>
<TouchableOpactiy onPress={this.playTrack} >
<Image
source={image}/>
</TouchableOpactiy>
);
}
}
export default RemoteSound ```
سلام این کدیه که استفاده کردم وقتی اسم فایل تو file name میزارم مشکلی نداره پلی میشه اما فقط یه فایل اونم برا 20تا ایتمی ک تو صفحه گذاشتم البته اینم بگم ک مثل توضیحات فیلم مربوط به flatlist صفحمو درست کردم فقط دیتا هاش متفاوته. میخوام از state در قسمت file name داخل کد استفاده کنم اما ارور undefined is not an object میده
با سلام
لطفا کدهاتون رو در 3 backtike باز و بسته بزارید اینطوری هیچی از کدتاهتون متوجه نشدم
میتونید روی دکمه ویرایش بزنید و کد رو ویرایش کنید .
و در مورد مشکل شما اگر دقت کرده باشید یک لینک دمو دادم که از صفر تا صد رو پیاده سازی کرده اگر به کدهاش دقت کنید کارتتون کاملا راه می افته
ویرایش کردم . بله دمو رو دیدم ولی نتونستم چیزی که میخوامو پیدا کنم . کد بالا برای یک فایل که روی همه ایتمای صفحه اعمال شده بدون خطا کار میکنه و پلی میشه اما میخوام فایل صداها هم بصورت props ارسال بشه همانند {image} که به view دادین شما داخل فیلم طوری که هر ایتم صفحه که یک دکمه هست با تاچ روش صدای خودش پخش شه
امیدوارم منظورمو رسونده باشم با توجه به دانش و تجربتون اگه ممکنه کمکم کنید
سوال دیگه اینکه فایلهای صدا همونجوری که داخل لینک دمو گفته شده حتما باید تو فولدر raw درون res قرار بگیره نمیتونیم تو مسیر دلخواه داخل پوشه پروژه فایلامونو ذخیره کنیم؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟