mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Merge pull request #2191 from chinmaygarde/master
Add iOS implementations for MediaPlayer volume and looping setters
This commit is contained in:
commit
e466c7dbd5
@ -32,6 +32,8 @@ class MediaPlayerImpl : public ::media::MediaPlayer {
|
||||
void Start() override;
|
||||
void Pause() override;
|
||||
void SeekTo(uint32_t msec) override;
|
||||
void SetVolume(float volume) override;
|
||||
void SetLooping(bool looping) override;
|
||||
|
||||
private:
|
||||
mojo::StrongBinding<::media::MediaPlayer> binding_;
|
||||
|
||||
@ -17,6 +17,8 @@
|
||||
- (BOOL)play;
|
||||
- (void)pause;
|
||||
- (BOOL)seekTo:(NSTimeInterval)interval;
|
||||
- (void)setVolume:(double)volume;
|
||||
- (void)setLooping:(BOOL)loop;
|
||||
|
||||
+ (NSString*)temporaryFilePath;
|
||||
|
||||
@ -58,6 +60,22 @@
|
||||
return [_player playAtTime:_player.deviceCurrentTime + interval];
|
||||
}
|
||||
|
||||
- (void)setVolume:(double)volume {
|
||||
if (volume > 1.0) {
|
||||
volume = 1.0;
|
||||
}
|
||||
|
||||
if (volume < 0.0) {
|
||||
volume = 0.0;
|
||||
}
|
||||
|
||||
_player.volume = volume;
|
||||
}
|
||||
|
||||
- (void)setLooping:(BOOL)shouldLoop {
|
||||
_player.numberOfLoops = shouldLoop ? -1 : 0;
|
||||
}
|
||||
|
||||
+ (NSString*)temporaryFilePath {
|
||||
char temp[256] = {0};
|
||||
|
||||
@ -136,6 +154,14 @@ void MediaPlayerImpl::reset() {
|
||||
audio_client_ = nullptr;
|
||||
}
|
||||
|
||||
void MediaPlayerImpl::SetVolume(float volume) {
|
||||
[audio_client_ setVolume:volume];
|
||||
}
|
||||
|
||||
void MediaPlayerImpl::SetLooping(bool looping) {
|
||||
[audio_client_ setLooping:looping];
|
||||
}
|
||||
|
||||
void MediaPlayerFactory::Create(
|
||||
mojo::ApplicationConnection* connection,
|
||||
mojo::InterfaceRequest<::media::MediaPlayer> request) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user