패키지를 이용하여 오디오플레이어를 구현하고, 함수를 이용해 코드를 간결하게 만들어보자 !
* 패키지 설치 *
1. https://pub.dartlang.org 접속
2. Xylophone앱에 필요한 오디오 패키지를 검색해보자. 'play audio file' 검색
3. 많은 audio관련 패키지들이 있다. 이 중 popularity가 비교적 높은 'audioplayers'패키지를 클릭
4. Installing 탭을 클릭해서 설명대로 패키지를 설치한다.
참고) yaml파일에 의존성 추가 시, 버전 앞에 '^'가 붙으면 후에 패키지가 업데이트 되어도 0.x.x버전들은 호환 가능.
(버전 0이 이외는 불가능)
* audioplayers 패키지 사용해보기 *
Readme탭을 클릭해 사용법을 확인해 보자. 로컬파일, 즉 Local Assets를 사용하려면 AudioCache 클래스가 필요하다.
오디오파일 재생 방법
1. import 'package:audioplayers/audio_cache.dart'; 를 코드 맨 위에 추가
2. 하단의 두줄 코드 추가
final player = AudioCache();
player.play('오디오파일이름');
참고) 노래 파일이 assets파일에 있으면 노래 파일의 이름만 적어주어도 된다.
* 버튼을 디자인 해보기 *
1. [여러개의 건반 만들기] FlatButton을 선택해 alt+control 후 Wrap with a Column
2. [건반 사이의 여백 삭제] FlatButton을 선택해 alt+control 후 Wrap with widget > widget을 Expanded로 설정
3. [가로로 화면을 꽉 채우기] Colomn위젯 내에 crossAxisAlignment: CrossAxisAlignment.stretch, 입력
4. 건반의 개수 만큼 버튼을 여러개 등록해보자.
* 함수로 중복 코드 줄이기 *
1. Expanded이하가 중복되므로 이를 리턴하는 함수를 만들어보자.
2. 매개변수로 컬러와 (파일명에 들어가는)숫자를 받고, 자료형과 return값이 Expanded인 함수를 만들었다.
3. 중복됐던 부분을 함수 호출로 대체한다.
Dart의 함수에서 유의할 점
1. 함수를 호출할 때 매개변수의 이름을 명시하고 싶다면 함수의 매개변수를 {}로 한번 더 감싼다.(사진1 첫번째줄)
2. string에서 매개변수가 들어가야 한다면 $를 앞세우고 매개변수 이름을 적는다.(사진1 7번째줄)
3. 함수 body가 한줄이라면 =>(Arrow)로 간편하게 나타낼 수 있다.(사진2)
3-1. body가 return문이라면 2번째 줄 코드 처럼 return을 생략할 수 있다. (사진2 두번째줄)
'Flutter' 카테고리의 다른 글
[Flutter-1Team] 섹션 13 - 비동기 (0) | 2021.01.27 |
---|---|
[Flutter 2 team]섹션 10:Quizzler [List, Class, Object] (0) | 2020.12.31 |
[Flutter - 1team]섹션 7 : Dicee - Building Apps with State (0) | 2020.11.29 |
[Flutter - 1team] 섹션 6 : 비즈니스 카드 앱 만들기 (0) | 2020.11.23 |
[Flutter - 1team] 섹션 5: I Am Poor (0) | 2020.11.23 |