new: add Android audio player
This commit is contained in:
@@ -7,7 +7,8 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation3.runtime.NavEntry
|
||||
import androidx.navigation3.ui.NavDisplay
|
||||
import androidx.savedstate.compose.serialization.serializers.SnapshotStateListSerializer
|
||||
import fr.ajaury.gwenedeg.di.appModule
|
||||
import fr.ajaury.gwenedeg.di.platformModule
|
||||
import fr.ajaury.gwenedeg.di.sharedModule
|
||||
import fr.ajaury.gwenedeg.navigation.Route
|
||||
import fr.ajaury.gwenedeg.player.ui.PlayerScreen
|
||||
import fr.ajaury.gwenedeg.records.ui.RecordsScreen
|
||||
@@ -20,7 +21,10 @@ import org.koin.dsl.koinConfiguration
|
||||
fun App() {
|
||||
KoinApplication(
|
||||
configuration = koinConfiguration {
|
||||
modules(appModule)
|
||||
modules(
|
||||
sharedModule,
|
||||
platformModule,
|
||||
)
|
||||
},
|
||||
) {
|
||||
val serializer = SnapshotStateListSerializer<Route>()
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
package fr.ajaury.gwenedeg.di
|
||||
|
||||
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
|
||||
import fr.ajaury.gwenedeg.records.data.InMemoryRecordRepository
|
||||
import fr.ajaury.gwenedeg.records.domain.RecordRepository
|
||||
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.bind
|
||||
import org.koin.core.module.dsl.factoryOf
|
||||
import org.koin.core.module.dsl.viewModelOf
|
||||
import org.koin.dsl.module
|
||||
|
||||
val appModule = module {
|
||||
val sharedModule = module {
|
||||
factoryOf(::InMemoryRecordRepository) { bind<RecordRepository>() }
|
||||
viewModelOf(::RecordsViewModel)
|
||||
viewModelOf(::PlayerViewModel)
|
||||
}
|
||||
|
||||
expect val platformModule: Module
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package fr.ajaury.gwenedeg.player
|
||||
|
||||
interface AudioPlayer {
|
||||
fun play()
|
||||
|
||||
fun pause()
|
||||
|
||||
fun stop()
|
||||
|
||||
fun release()
|
||||
|
||||
fun load(filePath: String)
|
||||
}
|
||||
Reference in New Issue
Block a user