Comments (10)
I found the same thing after a recent upgrade to the module. It appears you have to call .play() now inside the callback function passed to the Sound constructor. e.g.
old code (no longer works... if you console.log(sound) you will see that sound._loaded == false)
let sound = new Sound('path/to/file.wav', Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log('failed to load the sound', error);
}
});
sound.play(); // no longer works... sound is not loaded yet
New code (works):
let sound = new Sound('path/to/file.wav', Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log('failed to load the sound', error);
} else {
sound.play(); // have to put the call to play() in the onload callback
}
});
from react-native-sound.
This should be made more clear in documentation
from react-native-sound.
Im running into the same exact issue
from react-native-sound.
Same here, only works with @dmwallace solution.
from react-native-sound.
@zmxv Is this an intended change in the design or a legit bug?
from react-native-sound.
Please upgrade to the latest version and check again. I've also published a demo project at https://github.com/zmxv/react-native-sound-demo, which has been tested with the latest version of RN on both iOS and Android.
from react-native-sound.
I got this too on the new codebase, using the demo code in the notes.
From what I can see, it's most likely because calling the initialisation code right before play() means the loading of the sound hasn't completed before play is called for the first time. This results in no sound, but also no error. You will likely get this if, for example, the whole basic usage code is placed within a single touch handler.
Placing all initialization code inside componentWillMount()
seems to work well, but in practice there's no guarantee. The only way to be certain of handling the error is to test isLoaded()
before calling play()
.
I have submitted a pull request to update the notes briefly to this effect.
from react-native-sound.
@dmwallace how do you pause the audio calling the play inside the callback? I'm struggling with it since I get that the sound variable is undefined
from react-native-sound.
I found the same thing after a recent upgrade to the module. It appears you have to call .play() now inside the callback function passed to the Sound constructor. e.g.
old code (no longer works... if you console.log(sound) you will see that sound._loaded == false)
let sound = new Sound('path/to/file.wav', Sound.MAIN_BUNDLE, (error) => { if (error) { console.log('failed to load the sound', error); } }); sound.play(); // no longer works... sound is not loaded yetNew code (works):
let sound = new Sound('path/to/file.wav', Sound.MAIN_BUNDLE, (error) => { if (error) { console.log('failed to load the sound', error); } else { sound.play(); // have to put the call to play() in the onload callback } });
This is no solution. It is a bug.
This way the moment the Sound
instance is created, the audio plays!
from react-native-sound.
` useEffect(() => {
let pendingSound;
if (isOpen) {
pendingSound = new Sound('path/to/file.mp3', Sound.MAIN_BUNDLE, e => {
if (e) {
console.log('Failed to load sound file', e);
return;
}
});
}
setTimeout(() => {
if (pendingSound) {
pendingSound.setNumberOfLoops(100);
pendingSound.play(success => {
if (success) {
console.log('Successfully played sound');
} else {
console.log('Failed to play sound');
}
});
}
}, 1000);
return () => {
if (pendingSound) {
console.log('Stopping and releasing sound');
pendingSound.stop(() => {
pendingSound.release();
console.log('Sound released');
});
}
};
}, [isOpen]);`
This one works for me
from react-native-sound.
Related Issues (20)
- Audio after playing not stopped
- Sound.setCategory('Playback') not working
- Play function stops working after playing multiple videos HOT 1
- Playing the next track in the done callback of the play() function doesn't work HOT 1
- Can not build in Windows HOT 4
- It is not working on Ios version 16.6 HOT 2
- Uncaught Error: Cannot read property 'IsAndroid' of null HOT 2
- React Native 0.71.0 incompatibility HOT 1
- Include Guidelines for Allowing Assets in Audio Files
- Can't play sound from "App Group" paths.
- onEnd callback is not fired on Android if setSpeed() HOT 4
- × Build failed with message C:\Users\91626\Downloads\testwindowsapp\node_modules\react-native-sound\windows\RNSoundModule\RNSoundModule\RNSoundPackage.cs(1,7): error CS0246: The type or namespace name 'ReactNative' could not be found (are you missing a using directive or an assembly reference?) [C:\Users\91626\Downloads\testwindowsapp\node_modules\react-native-sound\windows\RNSoundModule\RNSoundModule\RNSoundModule.csproj]. Check your build configuration. HOT 3
- delay between sounds played HOT 3
- Is there a software update plan? HOT 1
- When I send voice note from android to IOS, then failed to load sound in IOS. HOT 1
- Wrong duration value when running methode getDuration()
- 现在iOS端还能用吗?怎么集成后,不能播放音频呢?
- bugfixed: Can't play remote mp3 on iOS
- Is it possible to play sound synchronous?
- Error => {"extra": -1330794744, "what": -1003}
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-sound.